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 |