本帖最后由 tsldxszd 于 2016-1-12 03:51 编辑
这帖子已经好久好久了。。。没想到今天居然排在第一位,我再写一些 东西让大家 借鉴吧,首先说下我这几个月的历程
第一个月:斗志满满,但屡屡受挫,确实是零基础啊,没办法啊,数学英语还都不好,尤其是数学,我现在感触很深 ,碰到和数学沾边的编程我就需要想很久,卡好几天。
第二个月:开始放羊了,没干劲了,开始没事看个小说,听个音乐,学习速度和 干劲再逐渐降低。
第三个月 :你懂的,我连游戏都重新安上爽一把了。学习时间开始比游戏时间少了
第四个月: 学个P 啊,玩 多好啊,这个月彻底废了,每天游戏能到 12个小时。。。。。
第五个月:不知道怎么就彻底想明白 了,对人生,对工作 ,对家庭,开始奋起直追那浪费的时间。疯狂努力的学习
现在是第6个月了吧,我没 具体算,大概是这样,现在 天天 自学时间超 10个小时,禁了游戏和小说了,那么 ,我来说说近期 的学习大大大总结,大大大感悟,进入正题了。
首先,你必须必须定好你的目标,比如有些人想着赚点钱就转行,那么你完全可以去培训班进行那短短一个 半月的填鸭式教育,反正998,也不贵,周围都在学习,你不好好学你 都觉得对不起自己,也 就不用担心像我那样,白白浪费了2个多月 的时间。请注意我在开头的if语句,如果你只是觉得程序员赚钱多,或者 只是想学一门手艺混口饭吃,没有自己的人生规划,人生目标,那么去基础班这的确是你最好的选择!
其次,if 你有了自己的人生规划,有了目标和方向,else if 你真心的热爱着写CODE 的感觉,那么在去基础班之前,请拿出一个甚至两个月的时间来拼命自学吧,为什么有些程序员月薪2,3万,为什么 有些人要个10000都困难 ?不是说你进了黑马你 就牛逼了,这一点你要深刻的意识到,培训班只能说是把你领进门,在一个半月 的 时间里你认为他能教你多少?他们只也只能是教你API 的使用方法,而且是很少的一部分方法,那么你又能学会多少?编程考的是 脑子,不是你对API 的 或熟练或生涩使用, 你 API 再熟练,你 一辈子也只是个码农,更何况你现在是从 零基础开始学习。扯远了,我看过的视频已经有马士兵-毕向东-刘易-郝斌-孔浩-高淇,注意我的顺序,这些视频的封装程度是递减的,不信你 可以看看马士兵的视频,绝对最封装,连代码都很少敲,所有的 代码都是早就写好的玩具代码,保证 你看的过瘾,看的懂,可我就想问问,你学了有用吗?你会写什么了?我不否定世界 上有天才的 存在 ,举一反三神推理到
看 那样的视频就能API熟练。但大部分人学了 那玩意,连API基础都够呛。毕向东的稍微好那么 一些 ,封装程度比马士兵轻多了,这是好事,看了以后你能勉强掌握API哪些基本功能 吧,刘义的太老了,用的JDK版本和 毕向东的是一样的,都是 1。6吧?不是 很确定 ,因为 他没 讲Lambda表达式 ,但我发现视频上传时间是2014-12月,对此 我不置一词,所以想了解 点底层知识,知道 API里 这玩意怎么实现的?你 去看高淇那个什么java300集,里面内容不知道是跳了还是怎么着,讲着这突然到那了,要不是我基础可以了,真有点摸不着头,然后这S.B我说实话,水平不咋的。。实现那些容器的功能的时候,经常把自己搞懵
即便如此,这仍然是一部好视频!简直是筑基神器。
今天一个问题卡了我一天,就是那个啥,把所有.java文件复制到别的盘,并改后缀名为 .TXT,论坛里有个这帖子,里面的 回复 五花八门,各种搞笑回复都有 ,我用了一天时间终于 完善了,现在马上凌晨4点了,老了。。熬不住夜了,把自己的实现贴上来,准备睡觉了。
- import java.io.*;
- import java.nio.channels.FileChannel;
- import java.util.HashMap;
- import java.util.Map.Entry;
- import java.util.Scanner;
- /**
- * 复制 D:中所有的.java 文件并改其后缀名为.txt 黏贴到 桌面上,当然可以是任何地方,
- * 、只是我懒得做这无聊 的事了。
- *
- * 这个代码实现了以下功能,
- * 1:不是指定某个文件夹 ,其范围可以大到搜索整个C或D或E盘里的 所有.java文件,
- * 2:而不是单纯的复制黏贴 某一个 .java文件。不限制拷贝的文件个数,测试中 拷贝
- * 了27个 D盘某 文件 夹中的.java文件,
- * 3:用FileChannel 传输 ,大大 提高 了传输 速度。27个文件秒速到桌面
- * 4:使用map集合只用2个函数就完成了所有的基本功能
- *
- * 收获:1:学习了map的遍历,因为 习惯了foreach,所以很不适应 map
- * 2:学到了FileChannel ,效率提升太明显了。
- * 3:加强了对 IO 流的理解和学习,尤其是File类的提高,改名字这里卡了二个小时,拷贝到指定文件夹卡 了3个小时。。
- * 4:再次复习了进入文件夹的代码。
- *
- *
- * @author 姜淑一
- *
- */
- public class TestCopy2
- {
- public static void main(String[] args) throws IOException
- {
- // 让用户自己输入需要拷贝的文件夹
- String s = forName();
- File file = new File(s);
- // 为了省代码,我定义在main里输入输出流
- FileInputStream in = null;
- FileOutputStream out = null;
- // 这里必须用map集合,一个装file.getPath,一个装file.getName,因为只有map集合 才能存放两个String参数
- // 这是 为了改变.java成.txt的必要条件,也是输入输出流不给力的地方
- HashMap <String,String>map = new HashMap<String, String>();
- // getfile方法是为了取出例如在D:盘中 所有 .java文件的绝对路径key和文件名value,存放 到map集合,为 copy方法做准备
- // 里面还用递归的方法实现了排除文件夹找文件的方法
- getFile(file ,map);
- // 找到需要的所有.java文件后,通过对 map的遍历,一一对应的把key(绝对路径)传给Input,
- // 把修改后的value(文件名)传给output,由于效率上考虑,在这里选择了
- // java.nio.channels.FileChannel;用File对象.getChannel()获得传输通道
- copy(in,out,map);
- System.out.println("已经帮你把"+s+"中的所有.java文件改为.txt文件并拷贝到了桌面上");
- }
- public static String forName()
- {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入您想复制的文件夹(格式如D:\\\\或者D:\\\\xxx\\\\)");
- System.out.println("请注意,如果您输入的是c:\\或者D:\\,查找会比较慢");
- String line = sc.nextLine();
- sc.close();
- return line;
- }
- public static void copy (FileInputStream in,FileOutputStream out,HashMap<String,String>map)
- throws IOException
- {
- FileChannel o = null;
- FileChannel i = null;
- // 这个遍历的方法是利用entry来做的
- for (Entry<String, String> entry : map.entrySet())
- {
- // 定义输入输出 流,输入流就是.java的路径,输出 流就是通过文件名修改过后的.txt的路径
- in = new FileInputStream(entry.getKey());
- out = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\"
- +entry.getValue().replace(".java", ".txt"));
- // 获得out通道和in通道,对接传输
- o = out.getChannel();
- i= in.getChannel();
- i.transferTo(0, i.size(), o);
- }
- }
- public static void getFile(File file,HashMap<String,String>map)
- {
- // 递归去掉文件夹
- File[] list = file.listFiles();
- // 递归和for循环 的联用,递归判断listp是否 文件夹,是文件夹,就继续进入。
- // for循环控制文件比较的 次数,也就是给map赋值
- if(list !=null)
- {
- for (int i = 0; i < list.length; i++)
- {
- if (list.isDirectory())
- {
- getFile(list,map);
- }
- // 只有结尾为.txt的文件 才添加路径和文件名到map集合中
- else
- {
- if(list.getName().endsWith(".java"))
- {
- String key =list.getPath();
- String value = list.getName();
- map.put(key,value);
- }
- }
- }
- }
- }
- }
|
-
1.jpg
(162.45 KB, 下载次数: 55)
|