import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class FileWriteExample {
public static void main(String[] args) {
try (FileOutputStream fos = new FileOutputStream("output.txt");
Scanner scanner = new Scanner(System.in)) {
System.out.println("ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã込む内容を入力ã—ã¦ãã ã•ã„:");
String userInput = scanner.nextLine();
byte[] data = userInput.getBytes();
fos.write(data);
System.out.println("ファイルã¸ã®æ›¸ãè¾¼ã¿ãŒå®Œäº†ã—ã¾ã—ãŸã€‚");
} catch (IOException e) {
System.err.println("エラー: ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸ãè¾¼ã¿ä¸ã«å•題ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚");
e.printStackTrace();
}
}
}
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‹ã‚‰ã®å…¥åŠ›ã‚’æ–°ã—ã„ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã込むシンプルãªä¾‹ã§ã™ã€‚try-with-resources文を使用ã—ã¦FileOutputStreamã¨Scannerã‚’é©åˆ‡ã«ã‚¯ãƒãƒ¼ã‚ºã—ã€IOExceptionã‚’ã‚ャッãƒã—ã¦ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¦ã„ã¾ã™ã€‚
FileOutputStream
FileOutputStream ã¯ã€Javaã«ãŠã„ã¦ãƒ•ァイルã¸ã®ãƒã‚¤ãƒˆãƒ‡ãƒ¼ã‚¿ã®å‡ºåŠ›ã‚’è¡Œã†ãŸã‚ã®ã‚¯ãƒ©ã‚¹ã§ã™ã€‚ã“ã®ã‚¯ãƒ©ã‚¹ã¯ã€ãƒã‚¤ãƒˆãƒ‡ãƒ¼ã‚¿ã‚’ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ã込むãŸã‚ã«ä½¿ç”¨ã•れã€ãƒã‚¤ãƒˆå˜ä½ã®ãƒ‡ãƒ¼ã‚¿ã‚’扱ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
以下㯠FileOutputStream ã®ä¸»ãªç‰¹å¾´ã¨ä½¿ç”¨æ–¹æ³•ã®æ¦‚è¦ã§ã™ã€‚
ファイルã®ä½œæˆã¨æ›¸ãè¾¼ã¿:
try (FileOutputStream fos = new FileOutputStream("example.txt")) {
String data = "Hello, FileOutputStream!";
byte[] byteData = data.getBytes();
fos.write(byteData);
} catch (IOException e) {
e.printStackTrace();
}
上記ã®ä¾‹ã§ã¯ã€”example.txt” ã¨ã„ã†åå‰ã®æ–°ã—ã„ファイルを作æˆã—ã€ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã«æ–‡å—列を書ã込んã§ã„ã¾ã™ã€‚
æ—¢å˜ã®ãƒ•ァイルã¸ã®è¿½è¨˜:
try (FileOutputStream fos = new FileOutputStream("example.txt", true)) {
String newData = "\nAppending more data!";
byte[] byteData = newData.getBytes();
fos.write(byteData);
} catch (IOException e) {
e.printStackTrace();
}
FileOutputStream ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ç¬¬äºŒå¼•æ•°ã‚’ true ã«ã™ã‚‹ã“ã¨ã§ã€æ—¢å˜ã®ãƒ•ァイルã«å¯¾ã—ã¦è¿½è¨˜ãŒè¡Œã‚れã¾ã™ã€‚
ファイルã®ã‚¯ãƒãƒ¼ã‚º:
try-with-resources 文を使用ã™ã‚‹ã“ã¨ã§ã€ãƒ–ãƒãƒƒã‚¯ã‚’抜ã‘ã‚‹éš›ã«ãƒ•ァイルãŒè‡ªå‹•çš„ã«ã‚¯ãƒãƒ¼ã‚ºã•れã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ãƒªã‚½ãƒ¼ã‚¹ã®åŠ¹çŽ‡çš„ãªç®¡ç†ãŒå¯èƒ½ã§ã™ã€‚
FileOutputStream を使用ã™ã‚‹éš›ã«ã¯ã€IOException ã‚’ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚ファイルã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ãŸå ´åˆã€ä¾‹å¤–ãŒã‚¹ãƒãƒ¼ã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
FileOutputStream ã¯ã€Javaã§ãƒ•ァイルã¸ã®ãƒã‚¤ãƒˆãƒ‡ãƒ¼ã‚¿ã®å‡ºåŠ›ã‚’æ‹…å½“ã™ã‚‹ã‚¯ãƒ©ã‚¹ã§ã™ã€‚ã“ã®ã‚¯ãƒ©ã‚¹ã‚’使用ã™ã‚‹ã“ã¨ã§ã€æ–°ã—ã„ファイルã®ä½œæˆã‚„æ—¢å˜ãƒ•ァイルã¸ã®ãƒ‡ãƒ¼ã‚¿ã®æ›¸ãè¾¼ã¿ã€è¿½è¨˜ãŒå¯èƒ½ã§ã™ã€‚FileOutputStream ã¯ã€ãƒ•ァイルã¸ã®å‡ºåŠ›ãŒå¿…è¦ãªå¤šãã®ã‚·ãƒŠãƒªã‚ªã§ä½¿ç”¨ã•れã€ãã®éš›ã«ã¯æ³¨æ„æ·±ã例外処ç†ã¨ãƒªã‚½ãƒ¼ã‚¹ã®ã‚¯ãƒãƒ¼ã‚ºã‚’行ã†ã“ã¨ãŒé‡è¦ã§ã™ã€‚
ファイルæ“作ã¯å¤–部リソースã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’ä¼´ã†ãŸã‚ã€IOException ã®ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ãŒä¸å¯æ¬ ã§ã™ã€‚ã¾ãŸã€ãƒªã‚½ãƒ¼ã‚¹ãƒªãƒ¼ã‚¯ã‚’é¿ã‘ã‚‹ãŸã‚ã« try-with-resources 文を活用ã—ã¦ã€ãƒ•ァイルã®ã‚¯ãƒãƒ¼ã‚ºã‚’確実ã«è¡Œã†ã‚ˆã†å¿ƒãŒã‘ã¾ã—ょã†ã€‚ãƒ‡ãƒ¼ã‚¿ã®æ›¸ãè¾¼ã¿ãŒæˆåŠŸã—ãŸå ´åˆã€ã‚ã‚‹ã„ã¯ä¾‹å¤–ãŒç™ºç”Ÿã—ãŸå ´åˆã§ã‚‚ã€ãƒ•ァイルã¯ç¢ºå®Ÿã«ã‚¯ãƒãƒ¼ã‚ºã•れるã“ã¨ãŒä¿è¨¼ã•れã¾ã™ã€‚
ファイルã¸ã®å‡ºåŠ›ã¯ãƒ—ãƒã‚°ãƒ©ãƒ ã«ãŠã„ã¦åŸºæœ¬çš„ã§ã‚りãªãŒã‚‰ã‚‚é‡è¦ãªæ“作ã§ã‚りã€FileOutputStream ã¯ãã®ãŸã‚ã®é ¼ã‚Šã«ãªã‚‹ãƒ„ールã®ä¸€ã¤ã§ã™ã€‚é©åˆ‡ãªã‚¨ãƒ©ãƒ¼ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã¨ã‚¯ãƒãƒ¼ã‚ºå‡¦ç†ã‚’å‚™ãˆãŸã‚³ãƒ¼ãƒ‰ã‚’書ãã“ã¨ã§ã€ä¿¡é ¼æ€§ã®é«˜ã„ファイル処ç†ãŒå®Ÿç¾ã§ãã¾ã™ã€‚
「019 例外ã¨ä¾‹å¤–処ç†ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント