http://www.hellohiro.com/fileio.htm
JavaでHello World ファイル入出力編
文字列としての読み込みですが、ファイルから入力が参考になると思います。
//t.java
import java.io.*;
public class t {
public static void main(String[] args) {
byte[] b=new byte[1];
try {
FileInputStream fis = new FileInputStream(”t.java”);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
while(fis.read(b)>0){
bo.write(b);
}
bo.close();
fis.close();
b = bo.toByteArray();
} catch (Exception e) {
e.printStackTrace();
}
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
}
}
ありがとうございます!
ABC.com
URLはダミーです。
以下が、サンプルプログラムです。
実行すると、カレントディレクトリの
FileToByte.javaを読みます。
FileToByte.javaで保存してください。
import java.io.*;
public class FileToByte {
public static void main(String args[]) throws Exception {
byte b[] = new byte[(int)((new File(”FileToByte.java”)).length())];
FileInputStream fis = new FileInputStream(”FileToByte.java”);
fis.read(b);
fis.close();
for ( int i = 0; i < b.length; i++ )
System.out.print((char)b[i]);
}
}
ありがとうございます!
そんなに大きくないファイルなら、FileChannelで一気に読んでやるのがお勧めです。速いっすよ。
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class GetBytesTest{
public static void main(String[] args) throws Exception{
FileInputStream inStream = new FileInputStream(”filename”);
FileChannel channel = inStream.getChannel();
ByteBuffer buffer = ByteBuffer.allocate((int)channel.size());
channel.read(buffer);
buffer.clear();
byte[] bytes = new byte[buffer.capacity()];
buffer.get(bytes);
channel.close();
}
}
ありがとうございます!
Java Technology
URLはダミーです。
既出の回答で十分かとも思いましたが、書いてみることにします。少しでも参考にしていただけたらいいと思います。
ファイル先頭で、java.ioパッケージのインポートが必要です。(import java.io.*;)
File f = new File(”ファイルのパス”);//読み込み元のファイル
byte[] data = new byte[(int)f.length()];//読み込み先の配列(ファイルと同じ長さに)
try{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));//ストリームを作成
bis.read(data);//配列の長さだけ読み込み
bis.close();//ストリームを閉じる
}
catch(IOException ex){//read(),close()メソッドが投げる可能性あり
}
BufferedInputStreamは読み込みを効率化するためのストリームです。
ありがとうございます!
ありがとうございます!