現在Eclipceで、Javaの勉強をしています。
ファイルの出力の際、Listを使って、出力できるかどうかを試しています。
java
1package chapter16; 2import java.io.*; 3import java.nio.charset.Charset; 4import java.nio.file.*; 5 6import java.util.*; 7 8public class BinaliWrite2 { 9 10 public static void main(String[] args) { 11 // TODO 自動生成されたメソッド・スタブ 12 try { 13 /* バイナリデータを書き込む */ 14 BufferedOutputStream bf = new BufferedOutputStream 15 (new FileOutputStream("C:/Users/Documents/binaryJ.txt")); 16 17 //ASCIIコードを書き込む 18 byte b1 = 74; //ASCII:(J) 19 byte b2 = 65; //ASCII:(A) 20 byte b3 = 86; //ASCII:(V) 21 byte b4 = 65; //ASCII:(A) 22 23 List<Byte> bb = new ArrayList<Byte>(); 24 bb.add(b1) ; //ASCII:(J) 25 bb.add(b2); //ASCII:(A) 26 bb.add(b3); //ASCII:(V) 27 bb.add (b4); //ASCII:(A) 28 29 String dir = "C:/Users//Documents"; 30 String filename = "binaryJ.txt"; 31 Files.write(Paths.get(dir,filename), bb,Charset.forName("UTF-8"), StandardOpenOption.WRITE); 32 33 //bf.write(b1); 34 //bf.write(b2); 35 //bf.write(b3); 36 //bf.write(b4); 37 38 //ファイルに書き込む 39 bf.flush(); 40 41 //ファイルをクローズする 42 bf.close(); 43 }catch(IOException e) { 44 e.printStackTrace(); 45 } 46 } 47 48}
しかし
Java
1 Files.**write**(Paths.get(dir,filename), bb,Charset.forName("UTF-8"), StandardOpenOption.WRITE); 2
のwriteでコンパイルエラーが発生しており、以下の文章が出ています
引用テキスト 型 Files のメソッド
write(Path, Iterable<? extends CharSequence>, Charset, OpenOption...) は引数 (Path, List<Byte>, Charset, StandardOpenOption) に適用できません
これってリスト型変数は受け付けないということなのでしょうか?
あと、何百行以上もあるデータをファイルに出力するときは、何を使うのでしょうか?参考にさせていただきたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/10 10:27
退会済みユーザー
2020/07/10 10:47
2020/07/10 12:44