try{语句块} catch(异常名称 exception){处理异常的语句} finally{语句块}
标准I/O流 | 名称 | 说明 |
---|---|---|
System.in | 标准输入流 | 从键盘输入信息 |
System.out | 标准输出流 | 在显示器上显示信息 |
System.err | 标准错误流 | 在显示器上输出错误信息 |
File file = new File(文件保存路径 文件名称) if (!file.exists()) {file.createNewFile(); }
//文件写入 OutputStream outputStream = new FileOutputStream(file); byte[] hello = {'H','e','l','l','o',',','W','o','r','l','d','!'}; outputStream.write(hello);
//文件读取 InputStream inputStream = new FileInputStream(file); while (inputStream.available()> 0){ System.out.print((char) inputStream.read()+" "); } inputStream.close();
//文件读取 byte[] buffer = new byte[1024]; String content = ""; int flag = 0; InputStream inputStream = new FileInputStream(file); BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); while ((flag = bufferedInputStream.read(buffer))!=-1){ content += new String(buffer,0,flag); } bufferedInputStream.close();
//文件写入 OutputStream outputStream = new FileOutputStream(file); BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream); String content1 = "写入文件的缓冲区内容"; bufferedOutputStream.write(content1.getBytes(),0,content.getBytes().length); bufferedOutputStream.flush(); bufferedOutputStream.close();
//文件读取 Writer writer = new FileWriter(file); writer.write("Hello, World!"); writer.flush(); writer.append("Hello,Java"); // 在文件中续写 writer.flush();
//文件写入 Reader reader = new FileReader(file); System.out.println(); char[] temp = new char[100]; reader.read(temp);
//文件读取 BufferedWriter bufferedWriter = new BufferedWriter(writer); String content = "使用bufferedWriter写入"; bufferedWriter.write(cont.length()); bufferedWriter.flush(); bufferedWriter.close();
//文件写入 BufferedReader bufferedReader = new BufferedReader(reader2); while ((content =bufferedReader.readLine())!= null){ System.out.println(content);}
//计算n的阶乘 factorial(n){ if(n==1) return 1; else return factorial(n-1)*n; }
Alt+Enter
找不到解决方法,后来查了一下break的用法想起来它必须用在循环里面,一样的continue也是。writer.write(10)
来分行,但不知道为何若是把文件放到IDEA里就能够分行,可是放到计算机里就不能够了。因此上网上查了一下java中文件读写如何实现分行,发现大部分的回答都建议并使用了BufferedReader流的形式。找到了一个过程比较详细的代码例子:public class TestC { public static void main(String[] args){ //获取要读取的文件 File readFile=new File("D://home/a.txt"); //输入IO流声明 InputStream in=null; InputStreamReader ir=null; BufferedReader br=null; try { //用流读取文件 in=new BufferedInputStream(new FileInputStream(readFile)); //若是你文件已utf-8编码的就按这个编码来读取,否则又中文会读取到乱码 ir=new InputStreamReader(in,"utf-8"); //字符输入流中读取文本,这样能够一行一行读取 br=new BufferedReader(ir); String line=""; //一行一行读取 while((line=br.readLine())!=null){ System.out.println(line); } } catch (Exception e) { e.printStackTrace(); } finally{ //必定要关闭流,倒序关闭 } try { if(br!=null){ br.close(); } else if(ir!=null){ ir.close(); } else if(in!=null){ in.close(); } } catch (Exception e2) { } } } }
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 120/120 | 1/1 | 9/9 | |
第二周 | 246/366 | 1/2 | 9/18 | |
第三周 | 785/1121 | 2/4 | 15/33 | |
第四周 | 615/1736 | 1/5 | 20/53 | |
第五周 | 1409/2645 | 1/6 | 24/77 | |
第六周 | 561/3206 | 1/7 | 20/97 | 再次搞清了一些本身有点含糊不清的概念 |
第七周 | 63/3269 | 1/8 | 15/112 | |
第八周 | 2476/5745 | 3/11 | 90/201 | |
第九周 | 824/6595 | 1/12 | 20/221 |