Java sample code 02

##[SAMPLE GALLERY](http://blueplace.sakura.ne.jp/index.html)に掲載されたソースを疎通してimport文も付けました。
#2.FileIO
- テキストファイルに書き込み
- テキストファイルに改行を入れる
- テキストファイルの読み込み
- ウェブページの内容の読み込み
- ファイルを別のファイルにコピー
- 文字コードを指定しテキストファイルを読み込む（文字化け対策）
- テキストファイルに文字列を書き込む
- テキストファイルの文字列を読み込む

####2-1.テキストファイルに書き込み
```java
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.テキストファイルに改行を入れる
```java
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.テキストファイルの読み込み
```java
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.ウェブページの内容の読み込み
```java
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.ファイルを別のファイルにコピー
```java
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.文字コードを指定しテキストファイルを読み込む（文字化け対策）
```java
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.テキストファイルに文字列を書き込む
```java
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.テキストファイルの文字列を読み込む
```java
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();
            }
        }

    }

}
```