CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /์ž๋ฐ” PrintWriter ํด๋ž˜์Šค
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

์ž๋ฐ” PrintWriter ํด๋ž˜์Šค

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

Java์˜ PrintWriter ํด๋ž˜์Šค๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

"PrintWriter๋Š” int, float, double, String ๋˜๋Š” Object์™€ ๊ฐ™์€ ๋ชจ๋“  ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ˜์†”์ด๋‚˜ Java์˜ ํŒŒ์ผ์— ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์“ฐ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค."
์˜ˆ๋ฅผ ๋“ค์–ด PrintWriter ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ๊ธฐ๋กํ•˜๊ฑฐ๋‚˜ ์ฝ˜์†”์— ์ธ์‡„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ OutputStream์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์™œ PrintWriter๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

์ฝ˜์†”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์‡„ํ•˜๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ System.out.print ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ PrintWriter ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์—ญ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฒŒ์‹œํ•˜๋Š” ๋™์•ˆ ์ง€์ •๋œ ๋กœ์บ˜ (์ง€์—ญ ํ‘œ์ค€) ์— ๋”ฐ๋ผ ํ˜•์‹์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค . ์ด ๊ฒŒ์‹œ๋ฌผ์˜ ๋’ท๋ถ€๋ถ„์—์„œ ์‹œ์Šคํ…œ์— ๋”ฐ๋ผ Locale์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PrintWriter ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•?

PrintWriter ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด java.io.PrintWriter ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค . ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐœ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ ํ›„ ํ•„์š”์— ๋”ฐ๋ผ ์ฝ˜์†”์ด๋‚˜ ํŒŒ์ผ์— ์“ฐ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ˜์†”๊ณผ ํŒŒ์ผ์— ๋Œ€ํ•ด PrintWriter ํด๋ž˜์Šค ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค . ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ์šฐ์„  ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒƒ์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

PrintWriter๋ฅผ ์‚ฌ์šฉํ•œ ์ฝ˜์†” ์ถœ๋ ฅ

๋‹ค์Œ์€ ์ฝ˜์†”์— ํ…์ŠคํŠธ๋ฅผ ์ธ์‡„ํ•˜๋Š” PrintWrtier ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค .

PrintWriter consoleOutput = new PrintWriter(System.out);
์—ฌ๊ธฐ์„œ System.out ๊ฐœ์ฒด๋Š” ์ฝ˜์†”์— ์“ฐ๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ์ž์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

PrintWriter๋กœ ํŒŒ์ผ ์ถœ๋ ฅ

๋‹ค์Œ์€ ํŒŒ์ผ์— ํ…์ŠคํŠธ๋ฅผ ์“ฐ๋Š” PrintWriter ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค .

PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
์ด ์ƒ์„ฑ์ž๋Š” ๋ฌธ์ž์—ด ์ž…๋ ฅ์„ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ง€์ •๋œ ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ์•ˆ์— ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์”๋‹ˆ๋‹ค.

PrintWriter ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ

Java PrintWriter ํด๋ž˜์Šค์—๋Š” ์—ฌ๋Ÿฌ ํŽธ๋ฆฌํ•œ ๋ฉ”์„œ๋“œ๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ž…๋Œ€๋งŒ์œผ๋กœ๋Š” ์‚ผํ‚ค๊ธฐ๊ฐ€ ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ํ•˜๋‚˜ํ•˜๋‚˜ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ฌด์—‡์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ 1

์ด ์˜ˆ์ œ๋Š” ์ฝ˜์†”์—์„œ ์ธ์‡„ํ•˜๊ธฐ ์œ„ํ•ด PrintWriter ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค .

import java.io.PrintWriter; 

public class PrintWriterDemo {

	public static void main(String[] args) throws Exception {


            // by importing the java.io.PrintWriter class
		PrintWriter consoleOutput = new PrintWriter(System.out);

		consoleOutput.printf("Hey there! This is %S.\n", "Lubaina Khan");
		consoleOutput.print("Today you're exploring the PrinWriter class with Code Gym. ");
		consoleOutput.println("Hope you're having fun!");
		consoleOutput.append("Patience is the key when learning new concepts.\n");
		consoleOutput.append("It all boils down to practise and persistence. :)");

		consoleOutput.flush();
		consoleOutput.close();
	}
}

์‚ฐ์ถœ

์ด๋ด! ๋ฃจ๋ฐ”์ด๋‚˜ ์นธ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Code Gym์œผ๋กœ PrinWriter ํด๋ž˜์Šค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฆ๊ฑฐ์šด ์‹œ๊ฐ„ ๋ณด๋‚ด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค! ์ƒˆ๋กœ์šด ๊ฐœ๋…์„ ๋ฐฐ์šธ ๋•Œ ์ธ๋‚ด์‹ฌ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์€ ์—ฐ์Šต๊ณผ ๋ˆ๊ธฐ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. :)

PrintWriter ํด๋ž˜์Šค์˜ ์‚ฌ์šฉ๋œ ๋ฉ”์„œ๋“œ


printf(String str, Object arguments); 
printf () ๋ฉ”์„œ๋“œ๋Š” ์ธ์‡„ํ•  ๋ฌธ์ž์—ด์˜ ํ˜•์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ž๋ฆฌ ํ‘œ์‹œ์ž %S ๋Š” ๋ฌธ์ž์—ด ์˜†์— ์ „๋‹ฌ๋œ ๋Œ€๋ฌธ์ž ์ธ์ˆ˜๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

print(String str);
์ด ๋ฉ”์„œ๋“œ๋Š” PrintWriter ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „๋‹ฌ๋œ ๋ฌธ์ž์—ด์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค .

println(String str);
๋ฌธ์ž์—ด ๋‚ด์šฉ ๋’ค์— ์ค„ ๋ฐ”๊ฟˆ์ด ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

append(CharSequence cs);
์ถ”๊ฐ€์— ์ „๋‹ฌ๋œ ๋ฌธ์ž ์‹œํ€€์Šค๋Š” PrintWrtier ๊ฐœ์ฒด์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

flush();
PrintWriter ๊ฐ์ฒด ์˜ ๋‚ด์šฉ์„ ๋น„์›๋‹ˆ๋‹ค .

close();
์“ฐ๊ธฐ ์ŠคํŠธ๋ฆผ์„ ๋‹ซ๊ณ  ํ• ๋‹น๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ 2

์ด ์˜ˆ์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ์“ฐ๊ธฐ ์œ„ํ•ด PrintWriter ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค .

import java.io.PrintWriter;
import java.util.Date;
import java.util.Locale;

public class PrintWriterDemo {

	public static void main(String[] args) throws Exception {

		try {
                  // by importing the java.io.PrintWriter class
			PrintWriter fileOutput = new PrintWriter("FileOutput.txt");

		      fileOutput.printf(Locale.getDefault(), "Hi, What's the day today? %s.\n", new Date());

			fileOutput.print("Here's an implementation of PrinWriter class for file writing.\n");
			fileOutput.println("Hope Code Gym made it simpler for you to understand.");
			fileOutput.append("One step at a time, and off you go!", 0, 35);

			fileOutput.flush();
			fileOutput.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

์‚ฐ์ถœ

์•ˆ๋…•ํ•˜์„ธ์š”, ์˜ค๋Š˜์€ ๋ฌด์Šจ ์š”์ผ์ž…๋‹ˆ๊นŒ? Sun Jul 25 17:30:21 PKT 2021. ๋‹ค์Œ์€ ํŒŒ์ผ ์“ฐ๊ธฐ๋ฅผ ์œ„ํ•œ PrinWriter ํด๋ž˜์Šค ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค. ํฌ๋ง์ฝ”๋“œ์ง์€ ์—ฌ๋Ÿฌ๋ถ„์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์— ํ•œ ๊ฑธ์Œ, ๊ทธ๋ฆฌ๊ณ  ์ถœ๋ฐœ!

PrintWriter ํด๋ž˜์Šค์˜ ์‚ฌ์šฉ๋œ ๋ฉ”์„œ๋“œ

์ฝ˜์†”์— ์“ฐ๋Š” ๊ฒƒ๊ณผ ๊ตฌ๋ณ„๋˜๋Š” ํŒŒ์ผ ์“ฐ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋…ผ์˜ํ•ด ๋ด…์‹œ๋‹ค.

printf(Locale locale, String str, Object args); 
์—ฌ๊ธฐ์—์„œ ํ•„์š”์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ์ผ€์ผ(์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ์‹œ์Šคํ…œ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•จ)์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ชจ๋“  ์ง€์—ญ ๊ธฐ๋ฐ˜ ํ˜•์‹์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๊ตฌํ˜„์€ ์ด์ „์— ์‚ฌ์šฉ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

append(CharSequence cs, int beginningIndex, int endingIndex);
์‹œ์ž‘ ๋ฐ ๋ ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ „๋‹ฌ๋œ CharSequence ์ฒญํฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์—ฌ๊ธฐ์„œ๋Š” ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐ€์ง€๊ณ  ๋†€๋ฉด์„œ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

try{
   ...
} catch (Exception e){
   ...
}
try-catch ๋ธ”๋ก์€ ํŒŒ์ผ ์“ฐ๊ธฐ์— ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜(์˜ˆ: ๊ถŒํ•œ ๋ฌธ์ œ) ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋™์•ˆ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

์ง€๊ธˆ๊นŒ์ง€ Java PrintWriter ํด๋ž˜์Šค ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์†Œ๊ฐœ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋‹น์‹ ์—๊ฒŒ ์••๋„์ ์ด์ง€ ์•Š์•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ ์ œ๋ชฉ์„ ์ดํ•ดํ•˜๊ณ  ์ง„ํ–‰ํ•˜๋ฉด์„œ ํ•จ๊ป˜ ์—ฐ์Šตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์žฅ์• ๋ฌผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์† ์งˆ๋ฌธํ•˜๊ณ  ๊ณ„์† ์„ฑ์žฅํ•˜์„ธ์š”.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION