周四进行了java测试,感触很深,测试的题目是用Java实现一个ATM机的管理系统。最后3个小时后,我没有完成这次测试,但是我找到了自己的很多不足,明确了自己的问题究竟在哪里。
关于这次测试我不会的最大问题是关于文件读写操作模拟数据库,其实好像从C语言开始,我对文件就不怎么会用,然后到了C++,现在的java,我依旧还是不太会用,这个问题真的很严重,它反映出我从来没有真正地去把文件操作弄懂学会,导致现在,,,测试结束以后,我从网上学习了java文件操作,下面这是一个文件写入模块和文件读写模块

1.public static void printFile(String content) {
 BufferedWriter bw = null;
 try {
 File file = new File("D:/filename.txt");
 if (!file.exists()) {
 file.createNewFile();
 }
 FileWriter fw = new FileWriter(file.getAbsoluteFile());
 bw = new BufferedWriter(fw);
 bw.write(content);
 bw.close();
 } catch (IOException e) {
 e.printStackTrace();
 }


2.BufferedReader、BufferedWriter(缓存流,提供readLine方法读取一行文本)
 

//读取文件(字符流)
         BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("d:\\1.txt"),"GBK"));#这里主要是涉及中文
         //BufferedReader in = new BufferedReader(new FileReader("d:\\1.txt")));
         //写入相应的文件
         BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:\\2.txt"),"GBK"));
         //BufferedWriter out = new BufferedWriter(new FileWriter("d:\\2.txt"));
         //读取数据
         //循环取出数据
         String str = null;
         while ((str = in.readLine()) != null) {
             System.out.println(str);
             //写入相关文件
             out.write(str);
             out.newLine();
         }
         //清楚缓存
         out.flush();
         //关闭流
         in.close();
         out.close();


并且我还了解了GBK与UTF-8以及他们的区别
GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。
GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
文件读写有多种方式,我觉得如果我想要熟练掌握,就必须针对性地多加练习
      还有一个问题就是,我不会把复杂问题简单化,将那些问题按模块儿分别去实现,记得我当时第一次看见这个庞大的问题的时候真的被吓住了,无从下手,我不知道该从哪儿开始做起,感觉自己哪儿也不会,就很懵的感觉,导致在最后的时候,我甚至想放弃了,于是我只写界面,什么操作也不去想,最后做得一塌糊涂,分数自然很低。其实如果自己那个时候哪怕之前不会,就在测试的时候开始学习如何用文件操作并且调用get()和set()方法,一定能学会很多东西,也不至于最后什么也写不出来。
         另外,当时对界面的如何跳转,也特别懵,现在想想,其实也就是不同部分界面函数的调用,此外还有像是关于Java的输入,Scanner与Bufferedreader的区别,我不知道输入的时候该去用哪儿个,java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串。它本质上是使用正则表达式去读取不同的数据类型。然而,Scanner读取数据是按空格符,这其中包括空格键,Tab键,Enter键。只要遇到其中之一,Scanner的方法就会返回下一个输入 ,这也就是我们会面临的另一个问题,当我们的输入数据中有空格时,我们就不会得到我们想要的数据,这样我们就要考虑到BufferReader来读取数据啦!Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本。

这次测试暴露了自己很多问题,也反映了自己平常对基础知识掌握的不扎实,接下来的我需要用心去学好每一个知识点。最后,就是,发现了问题就需要去改正,然后接下来我就需要把这个代码重做一遍,看看自己是否真的学会了这些东西。