How can I read a large text file line by line using Java?

A common pattern is to use try (BufferedReader br = new BufferedReader(new FileReader(file))) { String line; while ((line = br.readLine()) != null) { // process the line. } } You can read the data faster if you assume there is no character encoding. e.g. ASCII-7 but it won’t make much difference. It is highly likely … Read more

Difference between

extends The wildcard declaration of List<? extends Number> foo3 means that any of these are legal assignments: List<? extends Number> foo3 = new ArrayList<Number>(); // Number “extends” Number (in this context) List<? extends Number> foo3 = new ArrayList<Integer>(); // Integer extends Number List<? extends Number> foo3 = new ArrayList<Double>(); // Double extends Number Reading – … Read more

What is difference between CrudRepository and JpaRepository interfaces in Spring Data JPA?

JpaRepository extends PagingAndSortingRepository which in turn extends CrudRepository. Their main functions are: CrudRepository mainly provides CRUD functions. PagingAndSortingRepository provides methods to do pagination and sorting records. JpaRepository provides some JPA-related methods such as flushing the persistence context and deleting records in a batch. Because of the inheritance mentioned above, JpaRepository will have all the functions … Read more

Java string to date conversion

That’s the hard way, and those java.util.Date setter methods have been deprecated since Java 1.1 (1997). Moreover, the whole java.util.Date class was de-facto deprecated (discommended) since introduction of java.time API in Java 8 (2014). Simply format the date using DateTimeFormatter with a pattern matching the input string (the tutorial is available here). In your specific … Read more

What do 3 dots next to a parameter type mean in Java?

It means that zero or more String objects (or a single array of them) may be passed as the argument(s) for that method. See the “Arbitrary Number of Arguments” section here: http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs In your example, you could call it as any of the following: myMethod(); // Likely useless, but possible myMethod(“one”, “two”, “three”); myMethod(“solo”); myMethod(new … Read more

How to convert a Java 8 Stream to an Array?

The easiest method is to use the toArray(IntFunction<A[]> generator) method with an array constructor reference. This is suggested in the API documentation for the method. String[] stringArray = stringStream.toArray(String[]::new); What it does is find a method that takes in an integer (the size) as argument, and returns a String[], which is exactly what (one of … Read more

How to reference a method in javadoc?

You will find much information about JavaDoc at the Documentation Comment Specification for the Standard Doclet, including the information on the {@link module/package.class#member label} tag (that you are looking for). The corresponding example from the documentation is as follows For example, here is a comment that refers to the getComponentAt(int, int) method: Use the {@link … Read more