㈠ java位元組流怎麼讀取數據
packagetest;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStream;
publicclassStreamTest{
publicstaticvoidmain(String[]args)throwsIOException{
//定義讀入流
InputStreamis=newFileInputStream(newFile("文件名"));
//定義緩沖區
byte[]buffer=newbyte[1024];
//讀取
is.read(buffer);
//關閉流
is.close();
}
}
希望能幫到你。
㈡ java中如何讀取某個文件的某個位元組看清具體要求
RandomAccessFile類
public class RandomAccessFile extends Object implements DataOutput, DataInput, Closeable
此類的實例支持對隨機訪問文件的讀取和寫入。隨機訪問文件的行為類似存儲在文件系統中的一個大型 byte
數組。存在指向該隱含數組的游標或索引,稱為文件指針;輸入操作從文件指針開始讀取位元組,並隨著對位元組的讀取而前移此文件指針。如果隨機訪問文件以讀取/寫入模式創建,則輸出操作也可用;輸出操作從文件指針開始寫入位元組,並隨著對位元組的寫入而前移此文件指針。寫入隱含數組的當前末尾之後的輸出操作導致該數組擴展。該文件指針可以通過
getFilePointer 方法讀取,並通過 seek 方法設置。
public void seek(long pos)
throws IOException設置到此文件開頭測量到的文件指針偏移量,在該位置發生下一個讀取或寫入操作。偏移量的設置可能會超出文件末尾。偏移量的設置超出文件末尾不會改變文件的長度。只有在偏移量的設置超出文件末尾的情況下對文件進行寫入才會更改其長度。
參數:pos - 從文件開頭以位元組為單位測量的偏移量位置,在該位置設置文件指針。
拋出:IOException - 如果
pos 小於 0 或者發生 I/O 錯誤。
㈢ 請問java輸入流中當文件大於byte數組長度的時候,該如何循環讀取
byte[]data=newbyte[1024];
intlen=fis.read(data);
//循環將文件fileText.txt中的內容讀取到位元組數組中
StringBuildersb=newStringBuilder();
sb.append(newString(data,0,len));
while(len!=-1){
len=fis.read(data);
if(len!=-1){
sb.append(newString(data,0,len));
}
}
System.out.println(sb);
㈣ Java 怎麼才能讀取一個位元組里的每一位的2進制信息
這個非常早拿好簡單,
使用一個變數
test=1;
然後循環<<<左移8次陸鉛,
和你要檢查的位元組byte進行&操作,
如果結果敏巧是0 那麼這一位的2進制就是0,否則就是1。
一樓是培訓速成出來的吧,
連2進制都不知道。
杯具。
㈤ 用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 讀取byte[] 指定位元組
public abstract int read() throws IOException
從輸入流中讀取數據的下一個位元組。返回 0 到 255 范圍內的 int
位元組值。如果因為已經到達流末尾而沒有可用的位元組,則返回值 -1。在輸入數據可用、檢測到流末尾或者拋出異常前,此方法一直阻塞。
子類必須提供此方法的一個實現。
還有下面兩個方法可選,具體的API說明查找java.io.InputStream的說明。
public int read(byte[] b) throws IOException
public int read(byte[] b,int off, int len) throws IOException
位元組轉整數時注意高地位。