Идея первого чтения из файла, а затем записывает слово в массив слов, вот массив эксплуатировать. Во-первых, приобретает первую букву каждого слова и последней буквы, то определяется, является ли конец до конца, первое слово сначала записывается в StringBuffer объект, который, если им следовать до конца к концу, а затем последовательно записываются в объект внутри, и, наконец, написать, ориентированные в выходной файл. Что касается различных стадий судебного решения, просто использовать, если заявление будет оцениваться по линии, ниже приводится подробный код:
пакет испытания; импорт java.applet.Applet; импорт java.io.BufferedReader; импорт java.io.File; импорт java.io.FileReader; импорт java.io.FileWriter; импорт java.io.IOException; общественный класс Lian2 { общественный статический недействительный основной (String [] арг) бросает IOException { // TODO自动生成的方法存根 Строка файл = "D: \\大二下\\软件工程\\ input.txt" ; Подайте = новый файл (имя файла); // judeFileExists (а); если(judeFileExists (а)) { danci (имя файла); } Иначе { System.out.println ( "文件不存在" ); } } Общественности статической недействительным danci (String s) бросает IOException { BufferedReader бр = новый BufferedReader ( новый FileReader (ов)); StringBuffer SB = новый StringBuffer (); Строка текста = NULL ; в то время как ((текст = br.readLine ())! = NULL ) { sb.append (текст); // символы для чтения из добавляются в StringBuffer } br.close (); // Закрыть считаны в поток Строка = sb.toString STR () для toLowerCase () ;. // повернет StringBuffer и символ в нижнем регистре String [] = str.split слова ( "[^ (Z-Za-а)] +"); // характер сегментации без слов, все слова IF . (words.length 1 == ) { IF ( "" .equals (слова [0 ])) System.out.println ( "нет слов файл" ), в ELSE System.out.println ( "одно слово файл" ); } еще { StringBuffer яо = новый StringBuffer (); Строка b1 = слова [0 ]; yao.append (b1); yao.append ( "" ); // System.out.println (б1); Конец String = b1.substring (b1.length () - 1 , b1.length ()); // System.out.println (конец); для ( INT = 1; г <words.length; я ++ ) { Строка запуска = слова [I] .substring (0,1 ); если (end.equals (начало)) { конецслова = [I] .substring (слова [I] , .length () - 1. , слово [I] .length ()); yao.append (слова [I]); yao.append ( "" ); } } Строка T = yao.toString (); IF ( "Яблоко" .equals (T)) { System.out.println ( "нет конца в конец слова" ); } Файл = новый новый файл ( «D: \\ под второкурсник программное обеспечение Engineering output1.txt \\ \\ " ); попробовать { file.createNewFile (); } Поймать (IOException е) { e.printStackTrace (); } Попробуйте { FileWriter Fw = новый FileWriter (файл); fw.write (yao.toString ()); fw.flush (); fw.close (); } Поймать (IOException е) { e.printStackTrace (); } } } // 判断文件是否存在 общественного статического булево judeFileExists (файл File) { если (File.Exists ()) { возвращение истина ; } еще { System.out.println ( "файл не существует" ); // Попробовать { // file.createNewFile (); // } улов (IOException E) { // TODO Auto-Generated улов Блок // E .printStackTrace (); // } возвращение к ложному ; } } // определяет , существует ли папка (неизмененный) публичный статический недействительный judeDirExists (файл) { ıf (file.isDirectory ()) {(File.Exists ()) { если System.out.println ( "реж существует" ); } Еще { System.out.println ( «существует то же имя файла, не может создать реж» ); } } Еще { System.out.println ( "реж не существует создать его ..." ); file.mkdir (); } } }