【Java面試】Java常見IO面試題!

六星_研鑫發表於2020-07-28

1:什麼是流?

字串分解==============OutStream==========>write()方法寫到檔案中


點選免費獲取最新BATJ面試題,2020最新面試技巧和簡歷模板!


2:描述I/O流的基本介面和類的結構

InputStream

OutputStream

3:程式碼示例:如何使用URL流來進行輸入輸出

try {
 
  imageSource = new URL("~info");
 
} catch (MalformedURLException e) {
 
}



4:什麼是Unicode?

是一種字元的編碼方式

5:程式碼示例:如何使用Reader和Writer來進行輸入輸出

InputStreamReader  ir = new InputStreamReader(System.in);
 
OutStreamReader  or = new OutStreamReader(System.in);


6:什麼是可序列化?如何實現可序列化?

表示一個資料可以按流式輸出

實現java.io.Serializable介面

7:程式碼示例:如何讀寫物件流

//讀
 
try {
 
String str = "123";
 
FileOutputStream f = new FileOutputStream("test.txt");
 
ObjectOutputStream s = new ObjectOutputStream(f);
 
s.writeObject(str);
 
f.close();
 
}catch(Exception e) {
 
e.printStackTrace();
 
}
//寫
 
try {
 
FileInputStream f = new FileInputStream("test.txt");
 
ObjectInputStream s = new ObjectInputStream(f);
 
str =(String)s.readObject();
 
f.close();
 
}catch(Exception e){
 
e.printStackTrace();
 
}


8:簡述File類的基本功能

處理檔案和獲取檔案資訊,檔案或資料夾的管理

除了讀寫檔案內容其他的都可以做

9:程式碼示例:如何使用隨機檔案讀寫類來讀寫檔案內容  

RW表示檔案時可讀寫的
 
讀:
 
try{
 
    RandomAccessFile f = new RandomAccessFile("test.txt", "rw");
 
    long len = 0L;
 
    long allLen = f.length();
 
    int i = 0;
 
    while (len < allLen) {
 
      String s = f.readLine();
 
      if (i > 0) {
 
          col.add(s);
 
      }
 
      i++;
 
      //遊標
 
      len = f.getFilePointer();
 
    }
 
  }catch(Exception err){
 
    err.printStackTrace();
 
  }
 
  
 
  寫:
 
  
 
  try{
 
    RandomAccessFile f = new RandomAccessFile("test.txt", "rw");
 
    StringBuffer buffer = new StringBuffer("\n");
 
    Iterator it = col.iterator();
 
    while (it.hasNext()) {
 
      buffer.append(it.next() + "\n");
 
    }
 
    f.writeUTF(buffer.toString());
 
  }catch(Exception err){
 
     err.printStackTrace();
 
  }


10:程式碼示例:如何使用流的基本介面來讀寫檔案內容

try{
 
DataInputStream in =
 
new DataInputStream(
 
new BufferedInputStream(
 
new FileInputStream("Test.java")
 
)
 
);
 
while ((currentLine = in.readLine()) != null){
 
System.out.println(currentLine);
 
}
 
}catch (IOException e){
 
System.err.println("Error: " + e);
 
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69977571/viewspace-2707611/,如需轉載,請註明出處,否則將追究法律責任。

相關文章