Coding Planet
CSV ์์ฑ์ ํน์๋ฌธ์ Escape ์ฒ๋ฆฌํ๋ ๋ฉ์๋ ๋ณธ๋ฌธ
			๐ป Java Study/Java ์ด๋ก  ์ ๋ฆฌ
			
		CSV ์์ฑ์ ํน์๋ฌธ์ Escape ์ฒ๋ฆฌํ๋ ๋ฉ์๋
jhj.sharon 2024. 5. 20. 11:05๋ฐ์ํ
    
    
    
      private static String escapeSpecialCharacters(String data) {
        if (data == null) {
            return "";
        }
        String escapedData = data.replace("\"", "\"\"");
        if (data.contains(",") || data.contains("\n") || data.contains("\"")) {
            escapedData = "\"" + escapedData + "\"";
        }
        return escapedData;
    }
}๋ฐ์ดํฐ๋ฅผ csv๋ก ๋ง๋๋ ๊ณผ์ ์์ ํน์๋ฌธ์์ ๋ํ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค. data list์์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ํํ๋ฉด์ ์ ์ ํ๊ฒ ํน์๋ฌธ์๋ฅผ escapeํด์ ๋ด์์ผํ๋ค.
- NULL ์ฒดํฌ
- ์
๋ ฅ ๋ฐ์ดํฐ data๊ฐnull์ธ ๊ฒฝ์ฐ, ๋น ๋ฌธ์์ด์ ๋ฐํ
- ํ์ผ์ null๊ฐ์ด ์ ๋ ฅ๋์ง ์๋๋ก ๋ฐฉ์ง
 
- ์
๋ ฅ ๋ฐ์ดํฐ 
- ํน์ ๋ฌธ์ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ
- ์
๋ ฅ ๋ฐ์ดํฐ์ "(ํฐ๋ฐ์ดํ)๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ, ์ด๋ฅผ""(์ด์ค ํฐ๋ฐ์ดํ)๋ก ๋ณ๊ฒฝ
- CSV ํ์์์๋ ๋ฐ์ดํฐ ๋ด์ ํฐ๋ฐ์ดํ๊ฐ ํฌํจ๋์ด ์์ ๋ ์ด๋ฅผ ์ด์ค ํฐ๋ฐ์ดํ๋ก ์ด์ค์ผ์ดํํด์ผ ํจ
 
- ์
๋ ฅ ๋ฐ์ดํฐ์ 
- ๋ฐ์ดํฐ ๊ฐ์ธ๊ธฐ
- ๋ฐ์ดํฐ์ ,(์ผํ),\n(์ค๋ฐ๊ฟ ๋ฌธ์), ๋๋"(ํฐ๋ฐ์ดํ)๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฅผ ํฐ๋ฐ์ดํ๋ก ๊ฐ์ผ๋ค.
- ์ผํ๋ CSV ํ์ผ์์ ํ๋ ๊ตฌ๋ถ์๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ ๋ด์ ์ผํ๊ฐ ์์ ๊ฒฝ์ฐ ์ด๋ฅผ ํฐ๋ฐ์ดํ๋ก ๊ฐ์ธ์ผ ํ๋ ๊ฒฝ๊ณ๊ฐ ๋ช ํํด์ง.
- ์ค๋ฐ๊ฟ ๋ฌธ์๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ, ํ ํ๋ ๋ด์์ ์ฌ๋ฌ ์ค์ ํฌํจํ ์ ์๋๋ก ํฐ๋ฐ์ดํ๋ก ๊ฐ์ธ์ผ ํจ.
- ํฐ๋ฐ์ดํ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ, ์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ์ ํจ๊ป ์ ์ฒด๋ฅผ ํฐ๋ฐ์ดํ๋ก ๊ฐ์ธ์ ํ ์คํธ๋ก ์ฒ๋ฆฌ.
 
- ๋ฐ์ดํฐ์ 
์์ 
- ์ผ๋ฐ ๋ฌธ์์ด:
- ์
๋ ฅ: Hello
- ์ถ๋ ฅ: Hello
 
- ์
๋ ฅ: 
- ์ผํ ํฌํจ ๋ฌธ์์ด:
- ์
๋ ฅ: Hello,World
- ์ถ๋ ฅ: "Hello,World"
 
- ์
๋ ฅ: 
- ์ค๋ฐ๊ฟ ํฌํจ ๋ฌธ์์ด:
- ์
๋ ฅ: Hello\nWorld
- ์ถ๋ ฅ: "Hello\nWorld"
 
- ์
๋ ฅ: 
- ํฐ๋ฐ์ดํ ํฌํจ ๋ฌธ์์ด:
- ์
๋ ฅ: He said "Hello"
- ์ถ๋ ฅ: "He said ""Hello"""
 
- ์
๋ ฅ: 
๋ฐ์ํ
    
    
    
  '๐ป Java Study > Java ์ด๋ก ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				 
								