java讀取位元組
這里以位元組流FileInputStream,FileOutputStream為例。代碼例子如下:
importjava.io.File;
/**
*把一個文件夾中的文件復制到一個指定的文件夾
*@authoryoung
*
*/
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
publicclassCopyFile{
publicstaticvoidmain(String[]args){
/*指定源exe文件的存放路徑*/
Stringstr="f:/jdk-1_5_0_06-windows-i586-p.exe";
/*指定復制後的exe的目標路徑*/
Stringstrs="e:/.exe";
/*創建輸入和輸出流*/
FileInputStreamfis=null;
FileOutputStreamfos=null;
try{
/*將io流和文件關聯*/
fis=newFileInputStream(str);
fos=newFileOutputStream(strs);
byte[]buf=newbyte[1024*1024];
intlen;
while((len=fis.read(buf))!=-1){
fos.write(buf,0,len);
}
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
fis.close();
fos.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
❷ java怎麼讀的
Java的讀取方式
Java是一種面向對象的編程語言,其讀取過程主要涉及以下幾個方面:
一、源代碼的讀取
Java源代碼的讀取主要依賴於文本編輯器或集成開發環境。開發者將編寫的Java代碼保存在以“.java”為後綴的文件中,然後通過Java編譯器將源代碼轉換為位元組碼。這個過程被稱為編譯。編譯後的Java文件以“.class”為後綴,可在Java虛擬機上運行。
二、JVM的讀取執行
Java虛擬機是Java程序運行的核心環境。JVM負責載入編譯後的Java位元組碼,並通過其內置的解釋器或即時編譯器將位元組碼轉換為機器語言,從而實現程序的運行。JVM確保了Java程序的跨平台性,因為編譯後的位元組碼可以在任何安裝了JVM的平台上運行。
三、運行時數據的讀取
在Java程序運行時,還需要讀取和處理各種數據。這些數據可能來自用戶輸入、文件、資料庫或網路等。Java提供了豐富的API來處理這些數據,如通過InputStream和Reader類讀取文件和網路數據,通過Scanner類讀取用戶輸入等。處理這些數據是Java程序實現功能的重要組成部分。
詳細解釋:
Java的讀取過程涉及到源代碼的編寫、編譯、以及運行時的數據讀取和處理。開發者使用文本編輯器或IDE編寫Java代碼,然後通過Java編譯器將源代碼轉換為位元組碼。這些位元組碼在Java虛擬機上運行,JVM將位元組碼轉換為機器語言以實現程序的執行。在程序運行過程中,還需要讀取和處理各種數據,如用戶輸入、文件內容、網路數據等,這些數據通過Java提供的API進行讀取和處理。由於Java的跨平台性,只要安裝了JVM,任何平台都可以運行Java程序。
❸ 用java如何讀取一個文件的指定位元組位置的數據
可以使用RandomAccessFile類。例如要從100位元組開始輸出工作目錄下的data.txt文件的類容。
package konw.test1;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Test1
{
public static void main(String[] args)
{
long pos = 100;
try
{
String str = "";
RandomAccessFile randomAccessFile = new RandomAccessFile("data.txt", "rw");
randomAccessFile.seek(pos);//將文件流的位置移動到pos位元組處
while( (str = randomAccessFile.readLine()) != null)
{
System.out.println(str);
}
randomAccessFile.close();
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
❹ java怎麼實現讀取一個文件,拿到二進制流
InputStream 就是讀取二進制文件的, 任何文件都可以用這個流來讀, 也叫位元組輸入流
❺ java中的FileInputStream類中的read()方法是讀取一個數據位元組,那麼讀取完一個位元組後還會自動讀取下一個
read只會讀取一個位元組 不會自動讀取下一個 只會讀第一個位元組 和指針不是一回事
如果想用位元組流讀完文件 一般用一個位元組數組的緩沖區 比如200
byte[] buffer = new byte[200];//創建位元組數組
int length = 0;
while(-1 != (length = is.read(buffer, 0, buffer.length))){
String str = new String(buffer,0,length);
System.out.println(str);
}