From 6a45d5a4337b684a071c9b995b5809bc83d5274f Mon Sep 17 00:00:00 2001 From: Ruslan Date: Thu, 22 Nov 2018 19:05:47 +0200 Subject: [PATCH 1/8] homework-6 --- .../ReadFileChangeFirstLetter.java | 44 +++++++++++++++++++ modules/ruslan/src/main/resources/Test.txt | 10 +++++ 2 files changed, 54 insertions(+) create mode 100644 modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java create mode 100644 modules/ruslan/src/main/resources/Test.txt diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java new file mode 100644 index 0000000..ea70174 --- /dev/null +++ b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java @@ -0,0 +1,44 @@ +package com.hillel.elementary.javageeks.ruslanTask6; + +import java.io.*; +import java.net.URL; + +public class ReadFileChangeFirstLetter { + + public static void main(String[] args) throws IOException { + URL resource =ReadFileChangeFirstLetter.class.getClassLoader ().getResource ("Test.txt"); + String fileFrom = resource.getFile (); + // try { + File filename = new File(fileFrom); + // filename.exists(); + System.out.println(filename.exists()); + FileInputStream fis = new FileInputStream(filename);//читающий поток + DataInputStream ods = new DataInputStream(fis); + int size = fis.available(); +// + char Array[] = new char[size]; + for (int i = 0; i < size; i++) { + if (fis.read() != -1) { + Array[i] = ods.readChar(); + System.out.println(Array[i]); + } + } + fis.close(); +// +// FileOutputStream os = new FileOutputStream("SonRec.txt"); +// DataOutputStream od = new DataOutputStream(os); +// for (int i = 0; i < size; i++) { +// if (Array[i] == ' ') { +// Array[i + 1] = Character.toUpperCase(Array[i + 1]); +// } +// od.writeChar(Array[i]); +// } +// +// os.close(); + // } + + } +} + + + diff --git a/modules/ruslan/src/main/resources/Test.txt b/modules/ruslan/src/main/resources/Test.txt new file mode 100644 index 0000000..f96dfe9 --- /dev/null +++ b/modules/ruslan/src/main/resources/Test.txt @@ -0,0 +1,10 @@ +g +rg +fdnb +db +fdnb +gh + jgrh htr + htr + htr + hth \ No newline at end of file From 19374f5d9f3e3c980f22b27399573edced2c04f5 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Mon, 26 Nov 2018 11:28:56 +0200 Subject: [PATCH 2/8] test ModifyFile --- .../ReadFileChangeFirstLetter.java | 89 +++++++++++++------ .../ReadFileChangeFirstLetter1.java | 62 +++++++++++++ modules/ruslan/src/main/resources/Test.txt | 10 --- modules/ruslan/src/main/resources/Test1.txt | 6 ++ 4 files changed, 129 insertions(+), 38 deletions(-) create mode 100644 modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java delete mode 100644 modules/ruslan/src/main/resources/Test.txt create mode 100644 modules/ruslan/src/main/resources/Test1.txt diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java index ea70174..3c6f6f2 100644 --- a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java +++ b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java @@ -5,39 +5,72 @@ public class ReadFileChangeFirstLetter { - public static void main(String[] args) throws IOException { - URL resource =ReadFileChangeFirstLetter.class.getClassLoader ().getResource ("Test.txt"); + public static void main(String[] args) throws IOException, InterruptedException { + URL resource =ReadFileChangeFirstLetter.class.getClassLoader ().getResource ("Test1.txt"); String fileFrom = resource.getFile (); // try { File filename = new File(fileFrom); - // filename.exists(); - System.out.println(filename.exists()); - FileInputStream fis = new FileInputStream(filename);//читающий поток - DataInputStream ods = new DataInputStream(fis); - int size = fis.available(); -// - char Array[] = new char[size]; - for (int i = 0; i < size; i++) { - if (fis.read() != -1) { - Array[i] = ods.readChar(); - System.out.println(Array[i]); - } - } - fis.close(); -// -// FileOutputStream os = new FileOutputStream("SonRec.txt"); -// DataOutputStream od = new DataOutputStream(os); -// for (int i = 0; i < size; i++) { -// if (Array[i] == ' ') { -// Array[i + 1] = Character.toUpperCase(Array[i + 1]); -// } -// od.writeChar(Array[i]); -// } -// -// os.close(); - // } + FileInputStream inputStream; + + // Класс для работы потоком ввода в файл + FileOutputStream outputStream; + + // инициализируем поток вывода из файлу + inputStream = new FileInputStream(fileFrom); + + // читаем первый символ с потока байтов + int data = inputStream.read(); + char content; + + // если data будет равна 0 то это значит, + // что файл пуст + boolean fUper=false; + while(data != -1) { + // переводим байты в символ + content = (char) data; + + // выводим полученный символ + if (fUper) { + System.out.print(String.valueOf(content).toUpperCase()); + fUper=false; + } + System.out.print(content); + if (content==' '){ + fUper = true; + } + + + // читаем следующий байты символа + data = inputStream.read(); + } + + // закрываем поток чтения файла + inputStream.close(); + + + } + + + public static void write(String st,String fileFrom) throws IOException { + FileInputStream inputStream; + + // Класс для работы потоком ввода в файл + FileOutputStream outputStream; + // открываем поток ввода в файл + outputStream = new FileOutputStream(fileFrom); + + // записываем данные в файл, но + // пока еще данные не попадут в файл, + // а просто будут в памяти + outputStream.write(st.getBytes()); + + // только после закрытия потока записи, + // данные попадают в файл + outputStream.close(); + } + } diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java new file mode 100644 index 0000000..172ec15 --- /dev/null +++ b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java @@ -0,0 +1,62 @@ +package com.hillel.elementary.javageeks.ruslanTask6; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; + +public class ReadFileChangeFirstLetter1 { + + public static void main(String[] args) { + + + // URL resource =ReadFileChangeFirstLetter.class.getClassLoader ().getResource ("Test.txt"); + // String fileFrom = resource.getFile (); + + String FILENAME = "/home/rstepanc/IdeaProjects/java-geeks/modules/ruslan/src/main/resources/Test.txt"; + String sCurrentLine; + ArrayList str = new ArrayList<>(); + + try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) { + + while ((sCurrentLine = br.readLine()) != null) { + String[] parts = sCurrentLine.split(" "); + + String lineOutput = ""; + for (int i = 0; i < parts.length; i++) { + if (parts[i].length()!=0) { + lineOutput += parts[i].substring(0, 1).toUpperCase() + parts[i].substring(1).toLowerCase() + " "; + str.add(lineOutput); + } + } + + + System.out.println(lineOutput); + WriteFile(FILENAME,str); + } + + } catch (IOException e) { + e.printStackTrace(); + } + + + + } + + public static void WriteFile(String FILENAME,ArrayList str) + throws IOException { + + BufferedWriter writer = new BufferedWriter(new FileWriter(new File(FILENAME),true)); + for (int i = 0; i < str.size(); i++) { + writer.write(str.get(i)); + writer.write(System.lineSeparator()); + + } + writer.close(); + } + +} \ No newline at end of file diff --git a/modules/ruslan/src/main/resources/Test.txt b/modules/ruslan/src/main/resources/Test.txt deleted file mode 100644 index f96dfe9..0000000 --- a/modules/ruslan/src/main/resources/Test.txt +++ /dev/null @@ -1,10 +0,0 @@ -g -rg -fdnb -db -fdnb -gh - jgrh htr - htr - htr - hth \ No newline at end of file diff --git a/modules/ruslan/src/main/resources/Test1.txt b/modules/ruslan/src/main/resources/Test1.txt new file mode 100644 index 0000000..d9346b1 --- /dev/null +++ b/modules/ruslan/src/main/resources/Test1.txt @@ -0,0 +1,6 @@ +fsd +fsd +fsfddsf fsafdsf +fs +dfs fsf +ffsd From 868f410784f3af70b0a121d6432fb062c5995125 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Fri, 30 Nov 2018 09:27:40 +0200 Subject: [PATCH 3/8] test --- .../hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java | 4 ++++ modules/ruslan/src/main/resources/Test1.txt | 6 ------ 2 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java delete mode 100644 modules/ruslan/src/main/resources/Test1.txt diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java new file mode 100644 index 0000000..a4e5f8a --- /dev/null +++ b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java @@ -0,0 +1,4 @@ +package com.hillel.elementary.javageeks.ruslanTask6; + +public class ReadInBUF { +} diff --git a/modules/ruslan/src/main/resources/Test1.txt b/modules/ruslan/src/main/resources/Test1.txt deleted file mode 100644 index d9346b1..0000000 --- a/modules/ruslan/src/main/resources/Test1.txt +++ /dev/null @@ -1,6 +0,0 @@ -fsd -fsd -fsfddsf fsafdsf -fs -dfs fsf -ffsd From e596b802cf84675e1ffe6b353a03d8299bf1d0af Mon Sep 17 00:00:00 2001 From: Ruslan Date: Fri, 30 Nov 2018 13:50:50 +0200 Subject: [PATCH 4/8] was added homework6 --- .../ReadFileChangeFirstLetter.java | 77 ------------------- .../ReadFileChangeFirstLetter1.java | 62 --------------- modules/ruslan/src/main/resources/Test | 7 ++ .../javageeks/ruslanTask6/ReadInBUFTest.java | 5 ++ 4 files changed, 12 insertions(+), 139 deletions(-) delete mode 100644 modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java delete mode 100644 modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java create mode 100644 modules/ruslan/src/main/resources/Test create mode 100644 modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java deleted file mode 100644 index 3c6f6f2..0000000 --- a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.hillel.elementary.javageeks.ruslanTask6; - -import java.io.*; -import java.net.URL; - -public class ReadFileChangeFirstLetter { - - public static void main(String[] args) throws IOException, InterruptedException { - URL resource =ReadFileChangeFirstLetter.class.getClassLoader ().getResource ("Test1.txt"); - String fileFrom = resource.getFile (); - // try { - File filename = new File(fileFrom); - FileInputStream inputStream; - - // Класс для работы потоком ввода в файл - FileOutputStream outputStream; - - // инициализируем поток вывода из файлу - inputStream = new FileInputStream(fileFrom); - - // читаем первый символ с потока байтов - int data = inputStream.read(); - char content; - - // если data будет равна 0 то это значит, - // что файл пуст - boolean fUper=false; - while(data != -1) { - // переводим байты в символ - content = (char) data; - - // выводим полученный символ - if (fUper) { - System.out.print(String.valueOf(content).toUpperCase()); - fUper=false; - } - System.out.print(content); - if (content==' '){ - fUper = true; - } - - - // читаем следующий байты символа - data = inputStream.read(); - } - - // закрываем поток чтения файла - inputStream.close(); - - - - - } - - - public static void write(String st,String fileFrom) throws IOException { - FileInputStream inputStream; - - // Класс для работы потоком ввода в файл - FileOutputStream outputStream; - // открываем поток ввода в файл - outputStream = new FileOutputStream(fileFrom); - - // записываем данные в файл, но - // пока еще данные не попадут в файл, - // а просто будут в памяти - outputStream.write(st.getBytes()); - - // только после закрытия потока записи, - // данные попадают в файл - outputStream.close(); - } - -} - - - diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java deleted file mode 100644 index 172ec15..0000000 --- a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadFileChangeFirstLetter1.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.hillel.elementary.javageeks.ruslanTask6; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; - -public class ReadFileChangeFirstLetter1 { - - public static void main(String[] args) { - - - // URL resource =ReadFileChangeFirstLetter.class.getClassLoader ().getResource ("Test.txt"); - // String fileFrom = resource.getFile (); - - String FILENAME = "/home/rstepanc/IdeaProjects/java-geeks/modules/ruslan/src/main/resources/Test.txt"; - String sCurrentLine; - ArrayList str = new ArrayList<>(); - - try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) { - - while ((sCurrentLine = br.readLine()) != null) { - String[] parts = sCurrentLine.split(" "); - - String lineOutput = ""; - for (int i = 0; i < parts.length; i++) { - if (parts[i].length()!=0) { - lineOutput += parts[i].substring(0, 1).toUpperCase() + parts[i].substring(1).toLowerCase() + " "; - str.add(lineOutput); - } - } - - - System.out.println(lineOutput); - WriteFile(FILENAME,str); - } - - } catch (IOException e) { - e.printStackTrace(); - } - - - - } - - public static void WriteFile(String FILENAME,ArrayList str) - throws IOException { - - BufferedWriter writer = new BufferedWriter(new FileWriter(new File(FILENAME),true)); - for (int i = 0; i < str.size(); i++) { - writer.write(str.get(i)); - writer.write(System.lineSeparator()); - - } - writer.close(); - } - -} \ No newline at end of file diff --git a/modules/ruslan/src/main/resources/Test b/modules/ruslan/src/main/resources/Test new file mode 100644 index 0000000..ebe3642 --- /dev/null +++ b/modules/ruslan/src/main/resources/Test @@ -0,0 +1,7 @@ +The Project Gutenberg eBook, The Sea-Wolf, by Jack London +This eBook is for the use of anyone anywhere at no cost and with +almost no restrictions whatsoever. You may copy it, give it away or +re-use it under the terms of the Project Gutenberg License included +with this eBook or online at www.gutenberg.org +Title: The Sea-Wolf +Author: Jack London \ No newline at end of file diff --git a/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java new file mode 100644 index 0000000..27d0b8a --- /dev/null +++ b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java @@ -0,0 +1,5 @@ +import static org.junit.jupiter.api.Assertions.*; + +class ReadInBUFTest { + +} \ No newline at end of file From 25cd6a5c2a96e6620f93f4e014f42037ba088814 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Fri, 30 Nov 2018 13:52:58 +0200 Subject: [PATCH 5/8] was added homework6 --- .../javageeks/ruslanTask6/ReadInBUF.java | 67 ++++++++++++++++++- .../javageeks/ruslanTask6/ReadInBUFTest.java | 44 ++++++++++++ 2 files changed, 110 insertions(+), 1 deletion(-) diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java index a4e5f8a..d7562d7 100644 --- a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java +++ b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java @@ -1,4 +1,69 @@ package com.hillel.elementary.javageeks.ruslanTask6; +import java.io.*; + public class ReadInBUF { -} + + public static void writeFile(String FILENAME, String str) throws IOException { + + BufferedWriter writer = new BufferedWriter(new FileWriter(new File(FILENAME))); + writer.append(str); + writer.close(); + } + + public static byte[] toLow(byte[] arr){ + + for (int i = 0; i< arr.length; i++) { + arr[i] = (byte) Character.toLowerCase(arr[i]); + } + return arr; + } + + public static String toUp(byte[] arr){ + + boolean inWord = false; + for (int i = 0; i< arr.length; i++) { + if (arr[i] >= 97 && arr[i] <= 122) { + if (inWord) { + continue; + } + arr[i] = (byte) Character.toUpperCase(arr[i]); + inWord = true; + } else { + inWord = false; + } + } + return new String(arr); + } + + + public static byte[] getFileBytes(File file) throws IOException { + + ByteArrayOutputStream ous = null; + InputStream ios = null; + try { + + byte[] buffer = new byte[4096]; + ous = new ByteArrayOutputStream(); + ios = new FileInputStream(file); + int read = 0; + while ((read = ios.read(buffer)) != -1) + ous.write(buffer, 0, read); + + } finally { + + try { + + if (ous != null) + ous.close(); + } catch (IOException e) { + } + try { + if (ios != null) + ios.close(); + } catch (IOException e) { + } + } + return ous.toByteArray(); + } +} \ No newline at end of file diff --git a/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java index 27d0b8a..898fa6e 100644 --- a/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java +++ b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java @@ -1,5 +1,49 @@ +package com.hillel.elementary.javageeks.ruslanTask6; + import static org.junit.jupiter.api.Assertions.*; +import java.net.URL; +import org.junit.jupiter.api.Test; +import static org.assertj.core.api.Assertions.assertThat; +import java.io.*; class ReadInBUFTest { + @Test + public void shouldResultReadFromFile() throws IOException { + + //given +// URL resource = ReadInBUFTest.class.getClassLoader().getResource("Text.txt"); +// System.out.println(resource); +// String fileFrom = resource.getFile(); + String fileFrom = "/home/rstepanc/IdeaProjects/java-geeks/modules/ruslan/target/classes/Test"; + + byte[] arr= ReadInBUF.getFileBytes(new File(fileFrom)); + byte[] arrLower = ReadInBUF.toLow(arr); + ReadInBUF.writeFile(fileFrom, ReadInBUF.toUp(arrLower)); + + //when + String sCurrentLine =null; + try (BufferedReader br = new BufferedReader(new FileReader(fileFrom))) { + while ((sCurrentLine = br.readLine()) != null) { + String[] parts = sCurrentLine.split(" "); + + int random = (int)(Math.random() * parts.length); + + String lineOutput = ""; + String checkResult = null; + + if (sCurrentLine.length() > 0) { + char letter = parts[random].substring(0,1).charAt(0); + if (letter >= 65 && letter <= 90){ + checkResult = "true"; + } else { + checkResult = "false"; + } + } + assertThat(checkResult).isEqualTo("true"); + } + } catch (IOException e) { + e.printStackTrace(); + } + } } \ No newline at end of file From 50940685dbd006c69a1d429024648f0f3d9245d9 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Thu, 13 Dec 2018 19:11:14 +0200 Subject: [PATCH 6/8] fix --- .../elementary/javageeks/ruslanTask6/ReadInBUFTest.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java index 898fa6e..4cc96c9 100644 --- a/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java +++ b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java @@ -11,11 +11,9 @@ class ReadInBUFTest { public void shouldResultReadFromFile() throws IOException { //given -// URL resource = ReadInBUFTest.class.getClassLoader().getResource("Text.txt"); -// System.out.println(resource); -// String fileFrom = resource.getFile(); - String fileFrom = "/home/rstepanc/IdeaProjects/java-geeks/modules/ruslan/target/classes/Test"; - + URL resource = ReadInBUFTest.class.getClassLoader().getResource("Test"); + System.out.println(resource); + String fileFrom = resource.getFile(); byte[] arr= ReadInBUF.getFileBytes(new File(fileFrom)); byte[] arrLower = ReadInBUF.toLow(arr); ReadInBUF.writeFile(fileFrom, ReadInBUF.toUp(arrLower)); From 868c2e71a18201b7e14c90db8e73f66468f1a3ce Mon Sep 17 00:00:00 2001 From: Ruslan Date: Mon, 17 Dec 2018 15:02:27 +0200 Subject: [PATCH 7/8] JG-92-Homework6-Ruslan-ModifyFile --- .../elementary/javageeks/ruslanTask6/ReadInBUF.java | 2 +- modules/ruslan/src/main/resources/Test | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java index d7562d7..2b10fc0 100644 --- a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java +++ b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java @@ -23,7 +23,7 @@ public static String toUp(byte[] arr){ boolean inWord = false; for (int i = 0; i< arr.length; i++) { - if (arr[i] >= 97 && arr[i] <= 122) { + if ((arr[i] >= 97 && arr[i] <= 122) || (arr[i] >= 39 && arr[i] <= 46)) { if (inWord) { continue; } diff --git a/modules/ruslan/src/main/resources/Test b/modules/ruslan/src/main/resources/Test index ebe3642..2e65efe 100644 --- a/modules/ruslan/src/main/resources/Test +++ b/modules/ruslan/src/main/resources/Test @@ -1,7 +1 @@ -The Project Gutenberg eBook, The Sea-Wolf, by Jack London -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.org -Title: The Sea-Wolf -Author: Jack London \ No newline at end of file +a \ No newline at end of file From a9362c9dc608c05aa8e279ca3f32df5d27c9b9e9 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Thu, 20 Dec 2018 13:43:15 +0200 Subject: [PATCH 8/8] JG-91-Homework6-Ruslan-ModifyFile fixed --- .../javageeks/ruslanTask6/ReadInBUF.java | 68 ++++--------------- modules/ruslan/src/main/resources/Test | 8 ++- .../javageeks/ruslanTask6/ReadInBUFTest.java | 59 ++++++++-------- 3 files changed, 50 insertions(+), 85 deletions(-) diff --git a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java index 2b10fc0..e9d5ff7 100644 --- a/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java +++ b/modules/ruslan/src/main/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUF.java @@ -4,66 +4,28 @@ public class ReadInBUF { - public static void writeFile(String FILENAME, String str) throws IOException { + public static void WorkWithFile (File file) throws IOException { - BufferedWriter writer = new BufferedWriter(new FileWriter(new File(FILENAME))); - writer.append(str); - writer.close(); - } - - public static byte[] toLow(byte[] arr){ + BufferedReader br = new BufferedReader(new FileReader(file)); + String st; + StringBuilder builder = new StringBuilder(); - for (int i = 0; i< arr.length; i++) { - arr[i] = (byte) Character.toLowerCase(arr[i]); - } - return arr; - } - - public static String toUp(byte[] arr){ - - boolean inWord = false; - for (int i = 0; i< arr.length; i++) { - if ((arr[i] >= 97 && arr[i] <= 122) || (arr[i] >= 39 && arr[i] <= 46)) { - if (inWord) { - continue; + while ((st = br.readLine()) != null) { + String[] arrStr = st.split(" "); + for (int i = 0; i < arrStr.length; i++) { + if (!arrStr[i].isEmpty()) { + builder.append(arrStr[i].substring(0, 1).toUpperCase() + arrStr[i].substring(1) + " "); } - arr[i] = (byte) Character.toUpperCase(arr[i]); - inWord = true; - } else { - inWord = false; } + builder.append("\n"); } - return new String(arr); + WriteFile(file.toString(), builder.toString()); } - - - public static byte[] getFileBytes(File file) throws IOException { - ByteArrayOutputStream ous = null; - InputStream ios = null; - try { + public static void WriteFile(String FILENAME, String str) throws IOException { - byte[] buffer = new byte[4096]; - ous = new ByteArrayOutputStream(); - ios = new FileInputStream(file); - int read = 0; - while ((read = ios.read(buffer)) != -1) - ous.write(buffer, 0, read); - - } finally { - - try { - - if (ous != null) - ous.close(); - } catch (IOException e) { - } - try { - if (ios != null) - ios.close(); - } catch (IOException e) { - } - } - return ous.toByteArray(); + BufferedWriter writer = new BufferedWriter(new FileWriter(new File(FILENAME))); + writer.append(str); + writer.close(); } } \ No newline at end of file diff --git a/modules/ruslan/src/main/resources/Test b/modules/ruslan/src/main/resources/Test index 2e65efe..03b39c5 100644 --- a/modules/ruslan/src/main/resources/Test +++ b/modules/ruslan/src/main/resources/Test @@ -1 +1,7 @@ -a \ No newline at end of file +The Project Gutenberg eBook, The sea-wolf, by Jack London +This eBook is for the use of anyone anywhere at no cost and with +almost no restrictions whatsoever. You may copy it, give it away or +re-use it under the terms of the Project Gutenberg License included +with this eBook or online at www.gutenberg.org +Title: The sea-Wolf +Author: jack London \ No newline at end of file diff --git a/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java index 4cc96c9..0e41800 100644 --- a/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java +++ b/modules/ruslan/src/test/java/com/hillel/elementary/javageeks/ruslanTask6/ReadInBUFTest.java @@ -1,47 +1,44 @@ package com.hillel.elementary.javageeks.ruslanTask6; -import static org.junit.jupiter.api.Assertions.*; import java.net.URL; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import java.io.*; class ReadInBUFTest { - @Test - public void shouldResultReadFromFile() throws IOException { + + @Test + public void shouldResultReadFromFile() throws IOException { //given - URL resource = ReadInBUFTest.class.getClassLoader().getResource("Test"); - System.out.println(resource); + URL resource = ReadInBUF.class.getClassLoader().getResource("Test"); String fileFrom = resource.getFile(); - byte[] arr= ReadInBUF.getFileBytes(new File(fileFrom)); - byte[] arrLower = ReadInBUF.toLow(arr); - ReadInBUF.writeFile(fileFrom, ReadInBUF.toUp(arrLower)); - - //when - String sCurrentLine =null; - try (BufferedReader br = new BufferedReader(new FileReader(fileFrom))) { - while ((sCurrentLine = br.readLine()) != null) { - String[] parts = sCurrentLine.split(" "); - - int random = (int)(Math.random() * parts.length); - - String lineOutput = ""; - String checkResult = null; - - if (sCurrentLine.length() > 0) { - char letter = parts[random].substring(0,1).charAt(0); - if (letter >= 65 && letter <= 90){ - checkResult = "true"; - } else { - checkResult = "false"; + File file = new File(fileFrom); + + ReadInBUF.WorkWithFile(file); + + String sCurrentLine = null; + try (BufferedReader br = new BufferedReader(new FileReader(fileFrom))) { + while ((sCurrentLine = br.readLine()) != null) { + String[] parts = sCurrentLine.split(" "); + + int random = (int) (Math.random() * parts.length); + + String lineOutput = ""; + String checkResult = null; + + if (sCurrentLine.length() > 0) { + char letter = parts[random].substring(0, 1).charAt(0); + if (letter >= 65 && letter <= 90) { + checkResult = "true"; + } else { + checkResult = "false"; + } } + assertThat(checkResult).isEqualTo("true"); } - assertThat(checkResult).isEqualTo("true"); + } catch (IOException e) { + e.printStackTrace(); } - - } catch (IOException e) { - e.printStackTrace(); } - } } \ No newline at end of file