자바 의 장식 자 모드,LineNumberReader,인쇄 흐름,병합 흐름
사상:기 존의 기능 을 향상 시킨다.
장식 자 단계:
1.피 장식 자 를 클래스 의 구성원 변수 로 간주한다
2.구조 방법 에서 구성원 변 수 를 할당 합 니 다.
(값 을 부여 하면 장식 자 라 는 대상 을 얻 을 수 있다)이 대상 이 있 으 면 이 대상 을 호출 할 수 있 는 방법
3.방법 업그레이드
//
interface study{
//
public abstract void studyCode();
}
class Student implements study{
@Override
public void studyCode() {
System.out.println(" c");
System.out.println(" c++");
System.out.println(" c#");
}
}
//
class LOStudent implements study{
//
private Student student;
//
public LOStudent() {
super();
// TODO Auto-generated constructor stub
}
public LOStudent(Student student) {
super();
this.student = student;
}
//
// public void loCode() {
//
// }
@Override
public void studyCode() {
//
student.studyCode();
//
System.out.println(" java");
System.out.println(" h5");
}
}
2.LineNumberReader
File file =new File("/Users/lanou/Desktop/aa/ll.txt");
FileReader fr=new FileReader(file);
LineNumberReader inr=new LineNumberReader(fr);
//
inr.setLineNumber(100);
//
String string="";
while ((string=inr.readLine())!=null) {
//
System.out.println(inr.getLineNumber()+":"+string);
}
inr.close();
아 날로 그 라인 NumberReader 클래스
장식 자 모드 활용 줄 번호 설정 가 져 오기
class MyLineNumberReader{
// ( )
//
private Reader reader;
private int num;
//
public MyLineNumberReader() {
super();
// TODO Auto-generated constructor stub
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public MyLineNumberReader(Reader reader) {
super();
this.reader = reader;
}
// ( )
// read()
//readline
// null
public String myReadLLine() throws IOException {
// ++
num++;
// ,
//
StringBuilder sb=new StringBuilder();
//
int len=0;
while ((len=reader.read())!=-1) {
if (len!='
') {
//
sb.append((char)len);
}else {
//
return sb.toString();
}
}
//
if (sb.length()==0) {
return null;
}
//
return sb.toString();
}
//
public void myClose() throws IOException {
reader.close();
}
3.인쇄 흐름(io 이상 을 영원히 던 지지 않 습 니 다)
출력 목적 조작(파일 콘 솔 인쇄)
PrintStream(바이트 흐름)
구조 방법:파일 바이트 출력 흐름 경로
PrintWriter(문자 흐름)
구조 방법:파일 바이트 출력 흐름 경로 문자 출력 흐름
핵심 기능:목적 단 에 그대로 출력
system.in 은 bufferedinputstream 대상 입 니 다.
sysout.out 은 printstream 대상(인쇄 흐름)
File file =new File("/Users/lanou/Desktop/aa/ll.txt");
FileOutputStream fos=new FileOutputStream(file);
PrintStream ps=new PrintStream(fos);
ps.println("hahah");
ps.println(100);
ps.print(true);
//
ps.close();
File file =new File("/Users/lanou/Desktop/aa/ll.txt");
FileWriter fw=new FileWriter(file);
//
PrintWriter pw=new PrintWriter(fw,true);
pw.println("dahaiba");
pw.println(true);
//
pw.close();
합병 류
//
File file1=new File("/Users/lanou/Desktop/aa/1.txt");
File file2=new File("/Users/lanou/Desktop/aa/2.txt");
File file3=new File("/Users/lanou/Desktop/aa/3.txt");
//
Vectorvector=new Vector<>();
//
vector.add(new FileInputStream(file1));
vector.add(new FileInputStream(file2));
vector.add(new FileInputStream(file3));
//
Enumeration elements = vector.elements();
//
SequenceInputStream sis=new SequenceInputStream(elements);
//
FileOutputStream fos=new FileOutputStream("/Users/lanou/Desktop/aa/4.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bw=new BufferedWriter(osw);
//
int len=0;
while ((len=sis.read())!=-1) {
bw.write(len);
bw.newLine();
bw.flush();
}
sis.close();
fos.close();
Vectorvector=new Vector<>();
for (int i = 1; i < 12; i++) {
File file =new File("/Users/lanou/Desktop/ss/kaoshi/"+i+".suipian");
FileInputStream fis=new FileInputStream(file);
vector.add(fis);
}
Enumeration elements = vector.elements();
FileOutputStream fos=new FileOutputStream("/Users/lanou/Desktop/ss/kaoshi/ks.txt");
SequenceInputStream sis=new SequenceInputStream(elements);
int len=0;
byte[]b=new byte[100];
while ((len=sis.read(b))!=-1) {
fos.write(b,0,len);
}
fos.close();
sis.close();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.