parent
bc72cef545
commit
f1250d6b5a
@ -0,0 +1,31 @@ |
||||
|
||||
# Files |
||||
.classpath |
||||
.externalToolBuilders |
||||
.gradle |
||||
.project |
||||
.pydevproject |
||||
.settings |
||||
.sonar |
||||
*~ |
||||
*.ipr |
||||
*.iml |
||||
*.iws |
||||
*.swp |
||||
*.DS_Store |
||||
*.snap.debug |
||||
dependency-reduced-pom.xml |
||||
|
||||
# Directories |
||||
.idea/ |
||||
.run/ |
||||
.venv/ |
||||
_site/ |
||||
build/ |
||||
dist/ |
||||
docs/_build/ |
||||
gen-java/ |
||||
gen-javabean/ |
||||
gen-py/ |
||||
node_modules/ |
||||
target/ |
@ -0,0 +1,86 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xmlns="http://maven.apache.org/POM/4.0.0" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
|
||||
<name>lines_scanner</name> |
||||
<description>description</description> |
||||
<url>https://swingbe.de</url> |
||||
<groupId>de.swingbe</groupId> |
||||
<artifactId>lines_scanner</artifactId> |
||||
<version>0.0.1</version> |
||||
<packaging>jar</packaging> |
||||
|
||||
<licenses> |
||||
<license> |
||||
<name>GNU General Public License</name> |
||||
<url>https://www.gnu.org/licenses/gpl-3.0.txt</url> |
||||
</license> |
||||
</licenses> |
||||
|
||||
<scm> |
||||
<url>https://github.com/Software-Ingenieur-Begerad/sandbox-java</url> |
||||
</scm> |
||||
|
||||
<properties> |
||||
<!-- Other properties --> |
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
||||
</properties> |
||||
|
||||
<build> |
||||
<plugins> |
||||
<plugin> |
||||
<groupId>org.apache.maven.plugins</groupId> |
||||
<artifactId>maven-compiler-plugin</artifactId> |
||||
<version>3.8.1</version> |
||||
<configuration> |
||||
<!-- Target Java versions --> |
||||
<release>11</release> |
||||
</configuration> |
||||
</plugin> |
||||
<plugin> |
||||
<groupId>org.apache.maven.plugins</groupId> |
||||
<artifactId>maven-shade-plugin</artifactId> |
||||
<version>3.2.1</version> |
||||
<executions> |
||||
<execution> |
||||
<phase>package</phase> |
||||
<goals> |
||||
<goal>shade</goal> |
||||
</goals> |
||||
<configuration> |
||||
<filters> |
||||
<filter> |
||||
<!-- exclude signatures from merged JAR to avoid invalid signature messages --> |
||||
<artifact>*:*</artifact> |
||||
<excludes> |
||||
<exclude>META-INF/*.SF</exclude> |
||||
<exclude>META-INF/*.DSA</exclude> |
||||
<exclude>META-INF/*.RSA</exclude> |
||||
</excludes> |
||||
</filter> |
||||
</filters> |
||||
<!-- The shaded JAR will not be the main artifact for the project, it will be attached |
||||
for deployment in the way source and docs are. --> |
||||
<shadedArtifactAttached>true |
||||
</shadedArtifactAttached> |
||||
<shadedClassifierName>shaded</shadedClassifierName> |
||||
<transformers> |
||||
<transformer |
||||
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> |
||||
<transformer |
||||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> |
||||
<manifestEntries> |
||||
<Main-Class>de.swingbe.lines_scanner.Main |
||||
</Main-Class> |
||||
</manifestEntries> |
||||
</transformer> |
||||
</transformers> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
</project> |
@ -0,0 +1,66 @@ |
||||
package de.swingbe.lines_scanner; |
||||
|
||||
import java.io.FileInputStream; |
||||
import java.io.IOException; |
||||
import java.nio.charset.StandardCharsets; |
||||
import java.nio.file.Path; |
||||
import java.nio.file.Paths; |
||||
import java.util.Scanner; |
||||
|
||||
public class Main { |
||||
|
||||
static void usage() { |
||||
System.err.println("usage: java Main file"); |
||||
System.exit(-1); |
||||
} |
||||
|
||||
|
||||
private static void lines_scanner(Path pathFile) { |
||||
FileInputStream inputStream = null; |
||||
Scanner sc = null; |
||||
try { |
||||
inputStream = new FileInputStream(pathFile.toString()); |
||||
sc = new Scanner(inputStream, StandardCharsets.UTF_8); |
||||
int count = 0; |
||||
while (sc.hasNextLine()) { |
||||
String line = sc.nextLine(); |
||||
// System.out.println(line);
|
||||
count++; |
||||
} |
||||
System.out.println("count: " + count); |
||||
// note that Scanner suppresses exceptions
|
||||
if (sc.ioException() != null) { |
||||
throw sc.ioException(); |
||||
} |
||||
} catch (IOException e) { |
||||
e.printStackTrace(); |
||||
} finally { |
||||
if (inputStream != null) { |
||||
try { |
||||
inputStream.close(); |
||||
} catch (IOException e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
if (sc != null) { |
||||
sc.close(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public static void main(String[] args) { |
||||
System.out.println("Hello world!"); |
||||
|
||||
// parse arguments
|
||||
if (args.length == 0 || args.length > 2) usage(); |
||||
|
||||
int fileArg = 0; |
||||
|
||||
// get lines count
|
||||
Path pathFile = Paths.get(args[fileArg]); |
||||
System.out.println("pathFile: " + pathFile); |
||||
lines_scanner(pathFile); |
||||
|
||||
return; |
||||
} |
||||
} |
Loading…
Reference in new issue