자바 파일 읽기 자바 파일 쓰기 (2019.07.19)

자바 파일 읽기 자바 파일 쓰기 (2019.07.19)

자바파일읽기파일쓰기

파일읽기 파일쓰기

public static ArrayList<String> readFile(File file) throws IOException, Exception {
        if (file == null || !file.exists()) {
            return null;
        }

        ArrayList<String> resultList = null;

        FileInputStream fileInputStream = null;
        InputStreamReader inputStreamReader = null;
        BufferedReader bufferedReader = null;

        try {
            fileInputStream = new FileInputStream(file);
            inputStreamReader = new InputStreamReader(fileInputStream, “UTF-8”);
            bufferedReader = new BufferedReader(inputStreamReader);

            String oneLine = null;
            while ((oneLine = bufferedReader.readLine()) != null) {
                if (resultList == null) {
                    resultList = new ArrayList<String>();
                }

                resultList.add(oneLine);
            }

        } catch (IOException e) {
            throw e;

        } catch (Exception e) {
            throw e;

        } finally {
            close(bufferedReader);
            close(inputStreamReader);
            close(fileInputStream);
        }

        return resultList;
    }
    
    
    public static boolean writeFile(String filePath, ArrayList<String> stringList, boolean bAppend) throws IOException, Exception {
        if (filePath == null || filePath.length() == 0) {
            return false;
        }

        File file = new File(filePath);

        boolean bWrite = false;

        FileOutputStream fileOutputStream = null;
        OutputStreamWriter outputStreamWriter = null;
        BufferedWriter bufferedWriter = null;

        try {
            fileOutputStream = new FileOutputStream(file, bAppend);
            outputStreamWriter = new OutputStreamWriter(fileOutputStream, “UTF-8”);
            bufferedWriter = new BufferedWriter(outputStreamWriter);

            if (stringList != null && stringList.size() > 0) {
                String oneLine = null;

                int lineCount = stringList.size();
                int lastIndex = lineCount – 1;

                for (int i = 0; i < lineCount; i++) {
                    oneLine = stringList.get(i);

                    bufferedWriter.write(oneLine, 0, oneLine.length());
                    if (i < lastIndex) {
                        bufferedWriter.newLine();
                    }
                }
            }

            bWrite = true;

        } catch (IOException e) {
            throw e;

        } catch (Exception e) {
            throw e;

        } finally {
            close(bufferedWriter);
            close(outputStreamWriter);
            close(fileOutputStream);
        }

        return bWrite;
    }

    
    private static void close(BufferedWriter bufferedWriter) {
        try {
            if (bufferedWriter != null) {
                bufferedWriter.close();
            }
        } catch (Exception e) {
            // 무시

        } finally {
            bufferedWriter = null;
        }
    }
    
    
    private static void close(OutputStreamWriter outputStreamWriter) {
        try {
            if (outputStreamWriter != null) {
                outputStreamWriter.close();
            }
        } catch (Exception e) {
            // 무시

        } finally {
            outputStreamWriter = null;
        }
    }
    
    
    private static void close(FileOutputStream fileOutputStream) {
        try {
            if (fileOutputStream != null) {
                fileOutputStream.close();
            }
        } catch (Exception e) {
            // 무시

        } finally {
            fileOutputStream = null;
        }
    }
    
    
    private static void close(FileInputStream fileInputStream) {
        try {
            if (fileInputStream != null) {
                fileInputStream.close();
            }
        } catch (Exception e) {
            // 무시

        } finally {
            fileInputStream = null;
        }
    }

    
    private static void close(InputStreamReader inputStreamReader) {
        try {
            if (inputStreamReader != null) {
                inputStreamReader.close();
            }
        } catch (Exception e) {
            // 무시

        } finally {
            inputStreamReader = null;
        }
    }
    
    
    private static void close(BufferedReader bufferedReader) {

        try {
            if (bufferedReader != null) {
                bufferedReader.close();
            }
        } catch (Exception e) {
            // 무시


        } finally {
            bufferedReader = null;
        }
    }