22
33import org .apache .commons .compress .utils .IOUtils ;
44
5- import java .io .*;
5+ import java .io .BufferedReader ;
6+ import java .io .File ;
7+ import java .io .FileInputStream ;
8+ import java .io .FileOutputStream ;
9+ import java .io .IOException ;
10+ import java .io .InputStreamReader ;
611import java .nio .file .Files ;
712import java .nio .file .Paths ;
8- import java .util .*;
9- import java .util .regex .Pattern ;
13+ import java .util .ArrayList ;
14+ import java .util .Arrays ;
15+ import java .util .List ;
16+ import java .util .Random ;
1017
1118public class FileUtils {
1219
1320 private static final List <String > SOURCE_CONTROL_FOLDERS = Arrays .asList ("CVS" , "RCS" , ".git" , ".svn" , ".hg" , ".bzr" );
14- private static final Pattern BACKSLASH = Pattern .compile ("\\ \\ " );
1521
1622 /**
1723 * Checks, whether the child directory is a subdirectory of the base directory.
@@ -109,75 +115,6 @@ public static File createTempFolder(File parent, String prefix, String suffix) t
109115 return Files .createDirectories (Paths .get (parent .getAbsolutePath (), prefix + suffix )).toFile ();
110116 }
111117
112- //
113- // Compute relative path to "target" from a directory "origin".
114- //
115- // If "origin" is not absolute, it is relative from the current directory.
116- // If "target" is not absolute, it is relative from "origin".
117- //
118- // by Shigeru KANEMOTO at SWITCHSCIENCE.
119- //
120- public static String relativePath (String origin , String target ) {
121- try {
122- origin = (new File (origin )).getCanonicalPath ();
123- File targetFile = new File (target );
124- if (targetFile .isAbsolute ())
125- target = targetFile .getCanonicalPath ();
126- else
127- target = (new File (origin , target )).getCanonicalPath ();
128- } catch (IOException e ) {
129- return null ;
130- }
131-
132- if (origin .equals (target )) {
133- // origin and target is identical.
134- return "." ;
135- }
136-
137- if (origin .equals (File .separator )) {
138- // origin is root.
139- return "." + target ;
140- }
141-
142- String prefix = "" ;
143- String root = File .separator ;
144-
145- if (System .getProperty ("os.name" ).indexOf ("Windows" ) != -1 ) {
146- if (origin .startsWith ("\\ \\ " ) || target .startsWith ("\\ \\ " )) {
147- // Windows UNC path not supported.
148- return null ;
149- }
150-
151- char originLetter = origin .charAt (0 );
152- char targetLetter = target .charAt (0 );
153- if (Character .isLetter (originLetter ) && Character .isLetter (targetLetter )) {
154- // Windows only
155- if (originLetter != targetLetter ) {
156- // Drive letters differ
157- return null ;
158- }
159- }
160-
161- prefix = "" + originLetter + ':' ;
162- root = prefix + File .separator ;
163- }
164-
165- String relative = "" ;
166- while (!target .startsWith (origin + File .separator )) {
167- origin = (new File (origin )).getParent ();
168- if (origin .equals (root ))
169- origin = prefix ;
170- relative += ".." ;
171- relative += File .separator ;
172- }
173-
174- return relative + target .substring (origin .length () + 1 );
175- }
176-
177- public static String getLinuxPathFrom (File file ) {
178- return BACKSLASH .matcher (file .getAbsolutePath ()).replaceAll ("/" );
179- }
180-
181118 public static boolean isSCCSOrHiddenFile (File file ) {
182119 return isSCCSFolder (file ) || isHiddenFile (file );
183120 }
@@ -209,25 +146,6 @@ public static String readFileToString(File file, String encoding) throws IOExcep
209146 }
210147 }
211148
212- public static List <String > readFileToListOfStrings (File file ) throws IOException {
213- List <String > strings = new LinkedList <>();
214- BufferedReader reader = null ;
215- try {
216- reader = new BufferedReader (new FileReader (file ));
217- String line ;
218- while ((line = reader .readLine ()) != null ) {
219- line = line .replaceAll ("\r " , "" ).replaceAll ("\n " , "" ).replaceAll (" " , "" );
220- strings .add (line );
221- }
222- return strings ;
223- } finally {
224- if (reader != null ) {
225- reader .close ();
226- }
227- }
228- }
229-
230-
231149 /**
232150 * Returns true if the given file has any of the given extensions.
233151 *
@@ -236,10 +154,6 @@ public static List<String> readFileToListOfStrings(File file) throws IOException
236154 * dot). Should all be lowercase, case insensitive matching
237155 * is used.
238156 */
239- public static boolean hasExtension (File file , String ... extensions ) {
240- return hasExtension (file , Arrays .asList (extensions ));
241- }
242-
243157 public static boolean hasExtension (File file , List <String > extensions ) {
244158 String extension = splitFilename (file ).extension ;
245159 return extensions .contains (extension .toLowerCase ());
@@ -364,21 +278,4 @@ public static List<File> listFiles(File folder, boolean recursive,
364278 return result ;
365279 }
366280
367- public static File newFile (File parent , String ... parts ) {
368- File result = parent ;
369- for (String part : parts ) {
370- result = new File (result , part );
371- }
372-
373- return result ;
374- }
375-
376- public static boolean deleteIfExists (File file ) {
377- if (file == null ) {
378- return true ;
379- }
380-
381- return file .delete ();
382- }
383-
384281}
0 commit comments