FileInputStream 類對於以字節序列的形式從文件中讀取數據非常有幫助。 FileInputStream 用於讀取原始字節流,例如圖像、音頻、視頻等。對於讀取字符流,推薦使用 FileReader。它最初是在 JDK 1.0 中引入的。
FileInputStream skip() 方法
FileInputStream 中的 skip(n) 方法非常有用,因為它丟棄了輸入流開頭的 n 字節數據。我們可以通過考慮以下示例來理解它的工作原理,
我們正在通過 FileInputStream 讀取一個字符流,我們希望在跳過流中的前八個字符後讀取它。讓字符串為“GeeksforGeeks”,因此跳過前八個字符後,我們的字符串將變為“Geeks”。
skip() 方法對於完成上述任務很有用。該方法在 Java.io 包的 FileInputStream 類中定義。
Java I/O 包幫助用戶執行所有輸入輸出操作。這些流支持所有對象、數據類型、字符、文件等,以完全執行 I/O 操作。
用法:
Input_File_Stream.skip(n) Input_File_Stream:The file input stream.
參數:
- n - 一個非負整數。
- 要從字符流中跳過的字節。
返回值:它返回實際跳過的字節數。
異常:IOException− 如果 n 為負整數或發生 I/O 錯誤。
範例1:
Java
// Java program to demonstrate the working
// of skip() method in FileInputStream
// Importing the class files
// defined under io Package
import java.io.FileInputStream;
import java.io.IOException;
// Public class
public class GeeksforGeeks {
// Main method
public static void main(String[] args)
throws IOException
{
FileInputStream inputFileStream = null;
// Variables to store the fifth character
int integerValue = 0;
char characterValue;
try {
// Create new file input stream
inputFileStream = new FileInputStream(
"C:\\Users\\harsh\\Desktop\\GFG\\inputFile.txt");
// Skip 4 bytes from the beginning
// in the file input stream
inputFileStream.skip(4);
// Read bytes from this stream
// (first character only)
integerValue = inputFileStream.read();
// Converting integer to character type
characterValue = (char)i;
// Print the character
System.out.print("Character read:"
+ characterValue);
}
catch (Exception exception) {
// If any error occurs
exception.printStackTrace();
}
finally {
// Releasing all system resources
if (inputFileStream != null)
inputFileStream.close();
}
}
}
// This code is contributed by Bhuwanesh
本地係統編譯步驟:
1、我們在本地保存了上麵的程序,名稱為“GeeksforGeeks”:
源代碼文件
2. 現在讓我們創建一個名為“inputFile”的文本文件:
文本文件
3. 我們需要在創建的文本文件中輸入一些文本。例如,我們在文本文件中寫入了 “GeeksforGeeks”。
文本文件數據
4. 我們現在將使用命令提示符通過 javac 編譯器編譯我們的程序:
javac GeeksforGeeks.java
源代碼文件的編譯
5. 如下圖所示,生成了 GeeksforGeeks.class 字節碼文件。現在使用以下命令運行程序:
java GeeksforGeeks
輸出:
輸出
輸出說明:由於我們已將 4 作為參數傳遞給程序中的 skip() 函數。正如我們在程序的輸出中看到的,前四個字符(或字節)被跳過(‘G’、‘e’、‘e’、‘k’)。 GeekforGeeks 中的第五個字符是“s”,因此,“s”打印在控製台上。
範例2:
Java
// Java program to demonstrate the working
// of skip() method in FileInputStream
// Importing the FileInputStream class
import java.io.FileInputStream;
// Importing the IOException class
import java.io.IOException;
// Public class
public class GeeksforGeeks {
// Main method
public static void main(String[] args)
throws IOException
{
FileInputStream inputFileStream = null;
int integerValue = 0;
char characterValue;
try {
// Create new file input stream
// Give the full path of the input file
inputFileStream = new FileInputStream(
"C:\\Users\\harsh\\Desktop\\GFG\\inputFile.txt");
// Skip 8 bytes from the beginning in the file
// input stream
inputFileStream.skip(8);
// Print on console
System.out.print("String read:");
// Iterate till EOF is not reached
while ((integerValue = inputFileStream.read())
!= -1) {
// converts integer to character
characterValue = (char)i;
// prints character
System.out.print(characterValue);
}
}
catch (Exception exception) {
// If any error occurs
exception.printStackTrace();
}
finally {
// Releasing all system resources
if (inputFileStream != null)
inputFileStream.close();
}
}
}
// This code is contributed by Bhuwanesh
為了在本地係統上編譯上述程序,我們可以按照我們在示例 1 中提到的相同步驟進行操作。編譯後,我們可以運行程序,它會生成以下輸出。
輸出:
輸出
輸出說明:正如您在輸出中看到的那樣,前八個字符被跳過('G'、'e'、'e'、'k'、's'、'f'、'o'、'r')。剩下的字符串是 “Geeks”,所以它會打印在控製台上。
相關用法
- Java FileInputStream read()用法及代碼示例
- Java FileInputStream close()用法及代碼示例
- Java FileInputStream getFD()用法及代碼示例
- Java FileInputStream finalize()用法及代碼示例
- Java FileInputStream getChannel()用法及代碼示例
- Java FileInputStream available()用法及代碼示例
- Java Java.io.FileInputStream用法及代碼示例
- Java Stream skip()用法及代碼示例
- Java Scanner skip()用法及代碼示例
- Java Reader skip(long)用法及代碼示例
- Java CharArrayReader skip(long)用法及代碼示例
- Java StringReader skip(long)用法及代碼示例
- Java ByteArrayInputStream skip()用法及代碼示例
- Java PushbackReader skip(long)用法及代碼示例
- Java BufferedInputStream skip(long)用法及代碼示例
- Java BufferedReader skip(long)用法及代碼示例
- Java PushbackInputStream skip()用法及代碼示例
- Java FileInputStream和ObjectInputStream的區別用法及代碼示例
- Java FileInputStream和FileReader的區別用法及代碼示例
- Java IntStream skip()用法及代碼示例
- Java DoubleStream skip()用法及代碼示例
- Java LongStream skip()用法及代碼示例
- MongoDB skip()用法及代碼示例
- Tensorflow.js tf.data.Dataset.skip()用法及代碼示例
注:本文由純淨天空篩選整理自bhuwanesh大神的英文原創作品 FileInputStream skip() Method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。