##SAMPLE GALLERYに掲載されたソースを疎通してimport文も付けました。
#2.FileIO
- テキストファイルに書き込み
- テキストファイルに改行を入れる
- テキストファイルの読み込み
- ウェブページの内容の読み込み
- ファイルを別のファイルにコピー
- 文字コードを指定しテキストファイルを読み込む(文字化け対策)
- テキストファイルに文字列を書き込む
- テキストファイルの文字列を読み込む
####2-1.テキストファイルに書き込み
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class SampleOutputStream {
public static void main(String[] args) throws IOException {
String text = "Hello World.";
byte[] data = text.getBytes();
OutputStream out = null;
try {
out = new FileOutputStream("OutputText.txt");//ここで書き込むファイルを指定しています。
out.write(data);//ここで文字を書き込んでいます。
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}
}
}
####2-2.テキストファイルに改行を入れる
import java.io.*;
public class SampleOutputStream {
private static final String NEW_LINE = "\n";//改行コードの定数
public static void main(String[] args) throws IOException {
String text = "Hello World.";
byte[] data = text.getBytes();
OutputStream out = null;
try {
out = new FileOutputStream("OutputText.txt");
out.write(data);//1行目
out.write(NEW_LINE.getBytes());//改行
out.write(data);//2行目
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}
//ファイルの絶対パスを取得する
File file = new File("OutputText.txt");
String str = file.getAbsolutePath();
System.out.println("pass : " + str);
}
}
####2-3.テキストファイルの読み込み
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
public class SampleInputStream {
public static void main(String[] args) throws IOException {
InputStream in = null;
try {
in = new FileInputStream("InputText.txt");
int i = -1;
//ファイルを読み込んでいます。
//read()メソッドは最後まで行くと-1を返すので、-1が返ってくるまでループを回します。
while ((i = in.read()) != -1) {
char character = (char) i;
System.out.print(character);//コンソールに出力
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (in != null) {
in.close();
}
}
}
}
####2-4.ウェブページの内容の読み込み
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public class SampleInputStream {
public static void main(String[] args) throws IOException {
//proxy 設定
System.setProperty("http.proxyHost","test.proxy.com");
System.setProperty("http.proxyPort","8081");
System.setProperty("https.proxyHost","test.proxy..com");
System.setProperty("https.proxyPort","8081");
System.setProperty("http.nonProxyHosts","localhost|*.nonproxy.com");
URL url = new URL("https://www.google.co.jp/");//ウェブページを指定。
InputStream in = null;
try {
in = url.openStream();
int i = -1;
while ((i = in.read()) != -1) {
char character = (char) i;
System.out.print(character);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (in != null) {
in.close();
}
}
}
}
####2-5.ファイルを別のファイルにコピー
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class SampleOutputStream {
public static void main(String[] args) throws IOException {
FileInputStream in = null;
FileOutputStream out = null;
FileChannel inChannel = null;
FileChannel outChannel = null;
try {
in = new FileInputStream("InputText.txt");//コピー元のファイルを指定
out = new FileOutputStream("OutputText.txt");//コピー先のファイルを指定
inChannel = in.getChannel();
outChannel = out.getChannel();
inChannel.transferTo(0, inChannel.size(), outChannel);//ファイルをコピー
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (outChannel != null) {
outChannel.close();
}
if (inChannel != null) {
inChannel.close();
}
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
}
}
}
####2-6.文字コードを指定しテキストファイルを読み込む(文字化け対策)
import java.io.*;
public class SampleInputStream {
public static void main(String[] args) throws IOException {
InputStream in = null;
InputStreamReader inr = null;
try {
in = new FileInputStream("InputText.txt");
inr = new InputStreamReader(in, "UTF-8");//ここで文字コードを指定しています。
int i = -1;
while ((i = inr.read()) != -1) {
char character = (char) i;
System.out.print(character);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (inr != null) {
inr.close();
}
if (in != null) {
in.close();
}
}
}
}
####2-7.テキストファイルに文字列を書き込む
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
public class SampleOutputStream {
public static void main(String[] args) throws IOException {
FileWriter out = null;
try {
out = new FileWriter("OutputText.txt");
out.write("Hello World.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}
}
}
####2-8.テキストファイルの文字列を読み込む
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class SampleBufferedReader {
public static void main(String[] args) throws IOException {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("InputText.txt");
br = new BufferedReader(fr);
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (br != null) {
br.close();
}
if (fr != null) {
fr.close();
}
}
}
}