기본 콘텐츠로 건너뛰기

java copy file skip first line

package readline;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;

public class Test {

public static void main(String[] args) throws Exception {
String somepath = "d:/f1.txt";

writeFile("d:/line0.txt","11111113232");
writeFile("d:/line1.txt","11111113232\n11111113232\n11111113232\n11111113232");
writeFile("d:/line1lf.txt","11111113232\n11111113232\n11111113232\n11111113232");
writeFile("d:/line1crlf.txt","11111113232\r\n11111113232\r\n11111113232\r\n11111113232");

somepath = "d:/line0.txt";
copyLine(somepath,somepath+".tmp");
somepath = "d:/line1.txt";
copyLine(somepath,somepath+".tmp");
somepath = "d:/line1lf.txt";
copyLine(somepath,somepath+".tmp");
somepath = "d:/line1crlf.txt";
copyLine(somepath,somepath+".tmp");

}

public static void writeFile(String fileName , String content) throws FileNotFoundException{
try (PrintStream out = new PrintStream(new FileOutputStream(fileName))) {
   out.print(content);
   out.close();
}
}

public static void copyLine(String f1,String f2) throws Exception{
File inputFile = new File(f1);
File tempFile = new File(f2);

BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

InputStreamReader isr = new InputStreamReader(new FileInputStream(inputFile));

String currentLine;
if((currentLine = reader.readLine()) != null){
int linefeedPosition = currentLine.length();

FileInputStream from = null; // Stream to read from source
   FileOutputStream to = null; // Stream to write to destination
 
     from = new FileInputStream(f1); // Create input stream
     to = new FileOutputStream(f2); // Create output stream
   
     byte[] buffer = new byte[linefeedPosition];
     int bytes_read; // How many bytes in buffer
     if((bytes_read = from.read(buffer)) != -1){
   
     }
     buffer = new byte[1];
     if((bytes_read = from.read(buffer)) != -1){
    System.out.printf(""+(int)buffer[0]);
    if('\r' == buffer[0]){
    System.out.printf(f1+":캐리지 리턴 검출됨");
    if((bytes_read = from.read(buffer)) != -1){
    System.out.printf(""+(int)buffer[0]);
    if('\n' == buffer[0]){
    System.out.println(f1+":라인피드 검출됨");
    }
     }
    }
     }else{
     //throw new Exception();
     return;
     }
   
   
     buffer = new byte[4096]; // To hold file contents
   

     // Read a chunk of bytes into the buffer, then write them out,
     // looping until we reach the end of the file (when read() returns
     // -1). Note the combination of assignment and comparison in this
     // while loop. This is a common I/O programming idiom.
     while ((bytes_read = from.read(buffer)) != -1)
       // Read until EOF
       to.write(buffer, 0, bytes_read); // write
 

}

writer.close();
reader.close();
//boolean successful = tempFile.renameTo(inputFile);
}

public static void copyLine2(String f1,String f2) throws Exception{
File inputFile = new File(f1);
File tempFile = new File(f2);

BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));


String currentLine;
if((currentLine = reader.readLine()) != null){

while((currentLine = reader.readLine()) != null) {
   writer.write(currentLine + System.getProperty("line.separator"));
}
}

writer.close();
reader.close();
//boolean successful = tempFile.renameTo(inputFile);
}

}

댓글

이 블로그의 인기 게시물

윈도우 톰캣 네트워크 드라이버 잡기

윈도우 톰캣 네트워크 드라이버 설정(windows tomcat network driver setting) TOMCAT_HOME/conf/server.xml 의 Host 노드 아래 경로 추가     <Context path="/resources" docBase="//192.168.200.100/cifs/pds" /> 서버스 재구동 하면 다음 메시지 뜸 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.beforeStart Exception fixing docBase for context [/resources] java.io.IOException: 사용자 이름 또는 암호가 올바르지 않습니다 at java.io.WinNTFileSystem.canonicalize0(Native Method) at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428) at java.io.File.getCanonicalPath(File.java:618) at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:593) at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:744) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)

Jsp 서버 아이피 확인

한줄버전 <% String svrIP =  InetAddress.getLocalHost() .getHostAddress(); %> <%@ page language="java" import="java.net.InetAddress" %> InetAddress inet = InetAddress.getLocalHost(); String svrIP = inet.getHostAddress(); Reference http://yoontaesub.egloos.com/m/1925800

윈도우 톰캣 버전확인

cmd 창을 연 후 cd C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin version.bat 실행 ======================================================== Using CATALINA_BASE:   "C:\Program Files\Apache Software Foundation\Tomcat 8.0" Using CATALINA_HOME:   "C:\Program Files\Apache Software Foundation\Tomcat 8.0" Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 8.0\temp" Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_91" Using CLASSPATH:       "C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin\tomcat-juli.jar" Server version: Apache Tomcat/8.0.33 Server built:   Mar 18 2016 20:31:49 UTC Server number:  8.0.33.0 OS Name:        Windows Server 2012 R2 OS Version:     6.3 Architecture:   amd64 JVM Version:    1.8.0_91-b14 JVM Vendor:     Oracle Corporation