周浩

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            28 隨筆 :: 0 文章 :: 16 評論 :: 0 Trackbacks

          輸入輸出流
          在Java中,我們把能夠讀取一個字節序列的對象稱作一個輸入流;而我們把夠寫一個字節序列稱作一個輸出流。它們分別由抽象類
          InputStream和OutputStream類表示。因為面向字節的流不方便用來處理存儲為Unicode(每個字符使用兩個字節)的信息。所以Java
          引入了用來處理Unicode字符的類層次,這些類派生自抽象類Reader和Writer,它們用于讀寫雙字節的Unicode字符,而不是單字節字符。
          Java.io包簡介
          JDK標準幫助文檔是這樣解釋Java.io包的,通過數據流、序列和文件系統為系統提供輸入輸出。
          InputStream類和OutputStream類
          InputStream類是所有輸入數據流的父類,它是一個抽象類,定義了所有輸入數據流都具有的共通特性。
          java.io.InputStream的方法如下:
          public abstract read()throws IOException
          讀取一個字節并返回該字節,如果到輸入源的末則返回-1。一個具體的輸入流類需要重載此方法,以提供 有用的功能。例如:在FileInputStream類中,該方法從一個文件讀取一個字節。
          public int read(byte[] b)throws IOException
          把數據讀入到一個字節數據中,并返回實際讀取的字節數目。如果遇到流末 則返回-1,該方法最多讀取b.length個字節。
          public abstract int read(byte[] b,int off,int len)throws IOException
          把數據讀入到一個字節數組中并返回實際讀取的字節數目。如果遇到流的末尾則的返回-1。 其中參數off表示第一個字節在b中的位置,len表示讀取的最大字節數。
          public long skip(long n)throws IOException
          略過N個字節不讀取,會返回實際略過的字節數目。因為數據流中剩下的數據可能不到N 個字節那么多,所以此時返回值會小于N。
          public int available()throws IOException
          read方法(包括后面要講的OutputStream類的Write方法)都能夠陰塞一個線程,直到字節被 實際讀取或寫入。這意味著如果一個流不能立即被讀或被寫
          /*
          * Created on 2005-3-10
          * To change the template for this generated file go to
          * Window>Preferences>Java>Code Generation>Code and Comments
          */
          package mytestfiles;
          import java.io.BufferedReader;
          import java.io.File;
          import java.io.FileReader;
          import java.io.FileWriter;
          import java.io.IOException;
          import java.io.PrintWriter;

          /**
          * @author zhangqinglin
          * To change the template for this generated type comment go to
          * Window>Preferences>Java>Code Generation>Code and Comments
          */
          public class Files
          {
          public static void main(String[] args) throws IOException
          {
          Files f = new Files();
          // System.out.println(f.readFile("f:\\LinkFile.java"));
          // f.readAllFile("f:\\","LinkFile.java");
          // f.readLineFile("f:\\","LinkFile.java");
          // System.out.println(f.fileIsNull("f:\\","122.txt"));
          // f.readFolderByFile("F:\\PDF");
          // System.out.println(f.createAndDeleteFolder("ss","f:\\"));
          // System.out.println(f.createAndDeleteFile("f:\\ss\\","TestFile.dat"));
          String[] ss = new String[50];
          for(int i=0;i<ss.length;i++)
          {
          ss[i] = "信息技術和互聯網(計算機軟硬件,通訊) "+i;
          }
          f.writeFile("f:\\ss\\","TestFile.txt",ss);
          }
          /**
          * 文件的寫入
          * @param filePath(文件路徑)
          * @param fileName(文件名)
          * @param args[]
          * @throws IOException
          */
          public void writeFile(String filePath,String fileName,String[] args) throws IOException
          {
          FileWriter fw = new FileWriter(filePath+fileName);
          PrintWriter out=new PrintWriter(fw);
          for(int i=0;i<args.length;i++)
          {
          out.write(args[i]);
          out.println();
          out.flush();
          }
          fw.close();
          out.close();
          }
          /**
          * 文件的寫入
          * @param filePath(文件路徑)
          * @param fileName(文件名)
          * @param args
          * @throws IOException
          */
          public void writeFile(String filePath,String fileName,String args) throws IOException
          {
          FileWriter fw = new FileWriter(filePath+fileName);
          fw.write(args);
          fw.close();
          }
          /**
          * 創建與刪除文件
          * @param filePath
          * @param fileName
          * @return 創建成功返回true
          * @throws IOException
          */
          public boolean createAndDeleteFile(String filePath,String fileName) throws IOException
          {
          boolean result = false;
          File file = new File(filePath,fileName);
          if(file.exists())
          {
          file.delete();
          result = true;
          System.out.println("文件已經刪除!");
          }
          else
          {
          file.createNewFile();
          result = true;
          System.out.println("文件已經創建!");
          }
          return result;
          }
          /**
          * 創建和刪除目錄
          * @param folderName
          * @param filePath
          * @return 刪除成功返回true
          */
          public boolean createAndDeleteFolder(String folderName,String filePath)
          {
          boolean result = false;
          try
          {
          File file = new File(filePath+folderName);
          if(file.exists())
          {
          file.delete();
          System.out.println("目錄已經存在,已刪除!");
          result = true;
          }
          else
          {
          file.mkdir();
          System.out.println("目錄不存在,已經建立!");
          result = true;
          }
          }
          catch(Exception ex)
          {
          result = false;
          System.out.println("CreateAndDeleteFolder is error:"+ex);
          }
          return result;
          }
          /**
          * 輸出目錄中的所有文件及目錄名字
          * @param filePath
          */
          public void readFolderByFile(String filePath)
          {
          File file = new File(filePath);
          File[] tempFile = file.listFiles();
          for(int i = 0;i<tempFile.length;i++)
          {
          if(tempFile[i].isFile())
          {
          System.out.println("File : "+tempFile[i].getName());
          }
          if(tempFile[i].isDirectory())
          {
          System.out.println("Directory : "+tempFile[i].getName());
          }
          }
          }
          /**
          * 檢查文件中是否為一個空
          * @param filePath
          * @param fileName
          * @return 為空返回true
          * @throws IOException
          */
          public boolean fileIsNull(String filePath,String fileName) throws IOException
          {
          boolean result = false;
          FileReader fr = new FileReader(filePath+fileName);
          if(fr.read() == -1)
          {
          result = true;
          System.out.println(fileName+" 文件中沒有數據!");
          }
          else
          {
          System.out.println(fileName+" 文件中有數據!");
          }
          fr.close();
          return result;
          }
          /**
          * 讀取文件中的所有內容
          * @param filePath
          * @param fileName
          * @throws IOException
          */
          public void readAllFile(String filePath,String fileName) throws IOException
          {
          FileReader fr = new FileReader(filePath+fileName);
          int count = fr.read();
          while(count != -1)
          {
          System.out.print((char)count);
          count = fr.read();
          if(count == 13)
          {
          fr.skip(1);
          }
          }
          fr.close();
          }
          /**
          * 一行一行的讀取文件中的數據
          * @param filePath
          * @param fileName
          * @throws IOException
          */
          public void readLineFile(String filePath,String fileName) throws IOException
          {
          FileReader fr = new FileReader(filePath+fileName);
          BufferedReader br = new BufferedReader(fr);
          String line = br.readLine();
          while(line != null)
          {
          System.out.println(line);
          line = br.readLine();
          }
          br.close();
          fr.close();
          }
          }

          posted on 2006-04-27 10:36 Derek 閱讀(2116) 評論(4)  編輯  收藏

          評論

          # re: Java文件操作 2006-04-27 10:37 在路上
          JavaScript讀寫

          <%@ page contentType="text/html; charset=gb2312" language="java" import="java.lang.Runtime" errorPage="" %>
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>


          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          <title>程序路徑設置</title>
          </head>

          <body>
          <form name="form" method="post" action=" " >

          <table border="0" width="91%" cellspacing="2">
          <tr>
          <br>
          <p> 點擊瀏覽設置總局公文處理系統路徑:
          <input type="file" name="file" width="0" value="" style="border: 1px solid #808080">
          <!-- <a href="javascript:writeFile()"><img border="0" src="./ksds/ggxx/image/b_enter.jpg" style="width:65 height:25 "></a><br>-->
          <input type="button" name="send" onClick="writeFile()" style="border-width:0px; BACKGROUND-COLOR: white;BACKGROUND-IMAGE: url('./xzpage/gj/txl/img/input01.gif');BACKGROUND-REPEAT: no-repeat;HEIGHT: 23px;WIDTH: 88px" value=" ">
          </p></td>
          </tr>
          </form>
          <br>
          <a href=javascript:Run()>總局公文處理系統登錄</a>
          <td width="16%" height="50">
          </table>


          <p><a href=javascript:urll()>連接外網</a></p>
          </body>
          <script language="javascript">

          function urll()
          {
          location.href = "http://www.hao123.com/wow.htm"
          }

          function Run() {
          try {
          var objShell = new ActiveXObject("wscript.shell");
          var fso = new ActiveXObject("Scripting.FileSystemObject");
          var str = fso.OpenTextFile("c:\\testfile.txt", 1);
          // alert("已經打開文件");
          var strPath = str.ReadLine();
          alert(strPath);
          objShell.Run(strPath);
          objShell = null;
          str.Close();
          }
          catch (e)
          {
          try{
          var fso, f1, ts, s;
          var ForReading = 1;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          var objShell = new ActiveXObject("wscript.shell");
          // 創建文件
          f1 = fso.CreateTextFile("c:\\testfile.txt", true);
          var oa = "C:\\OA\\CDOCDATA\\BIN\\OAGW.EXE";
          f1.WriteLine(oa);
          f1.WriteBlankLines(1);
          ts = fso.OpenTextFile("c:\\testfile.txt", 1);
          s = ts.ReadLine();
          objShell.Run(s);
          objShell = null;
          f1.Close();
          }
          catch (e){
          alert('找不到文件"'+oa+'"(或它的組件之一)。請確定路徑和文件名是否正確,而且所需的庫文件均可用。')
          }
          }
          }


          function writeFile()
          {
          var tmp=document.form.file.value;

          if (tmp==null ||tmp==""){

          alert("請選擇路徑");

          }else{
          var fso, f1, ts, s;
          var ForReading = 1;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          var objShell = new ActiveXObject("wscript.shell");
          // 創建文件
          f1 = fso.CreateTextFile("c:\\testfile.txt", true);
          // 填寫一行數據
          f1.WriteLine(tmp);
          f1.WriteBlankLines(1);
          // 關閉文件
          f1.Close();
          // 打開文件
          alert("設置成功!!");
          }
          //ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
          //alert("打開文件成功");
          // 讀取文件一行內容到字符串
          //s = ts.ReadLine();

          // 顯示字符串信息
          //document.write("您目前的應用程序地址是" + s + "如果需要修改請點擊下面");
          // 關閉文件
          //ts.Close();

          }

          </script>
          </html>
            回復  更多評論
            

          # re: Java文件操作 2006-11-10 14:29 挖哈哈
          文件是很好的文件。

          看還是難看懂!

            回復  更多評論
            

          # re: Java文件操作 2006-11-10 14:29 挖哈哈
          文件是很好的文件。

          看還是難看懂!

            回復  更多評論
            

          # re: Java文件操作 2006-12-18 14:45 如何處理統計中文詞頻
          不知道能不能處理中文,統計詞頻什么的也行么。如果有這方面的程序請指教,我的郵箱是zs_aba@163.com,請幫忙把有關資料發到郵箱里,先謝謝了  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          Google
          主站蜘蛛池模板: 库车县| 东丽区| 莆田市| 宁海县| 吐鲁番市| 沭阳县| 枝江市| 高唐县| 大冶市| 青浦区| 蚌埠市| 嫩江县| 丹巴县| 潢川县| 阿克苏市| 肇源县| 河东区| 东阿县| 墨玉县| 龙井市| 额济纳旗| 普兰县| 天镇县| 定安县| 禄丰县| 秦安县| 灌南县| 高台县| 勐海县| 疏勒县| 育儿| 呼伦贝尔市| 宁陕县| 镇康县| 麟游县| 安多县| 丽江市| 清丰县| 望都县| 交口县| 托克托县|