Question: Display all the names of a given length from names.dat. This file is in binary. Each entry is in the format: name length (integer) and name (string). There are no String reading methods for binary files. You'll have to figure out how to use the length value and readChar method to read all the names. ======================================================================== Test Case 3 Enter a length\n 11(ENTER) Names of length 11\n Lindi Ekins\n Adriana Bru\n Linet Greep\n Rich Yakovl\n Roy Garrard\n Alex Fillon\n Inge Adrain\n 7 results\n ---------------------------------------------------------------------- Test Case 4 Enter a length\n 12 (ENTER) Names of length 12\n Sabrina Digg\n Howie Royson\n Bronny Blues\n Murdoch Vase\n Ryley Chmiel\n Brand Hallam\n Kippy Baudet\n Tate Stainer\n Lindie Freke\n 9 results\n
Question: Display all the names of a given length from names.dat. This file is in binary. Each entry is in the format: name length (integer) and name (string). There are no String reading methods for binary files. You'll have to figure out how to use the length value and readChar method to read all the names. ======================================================================== Test Case 3 Enter a length\n 11(ENTER) Names of length 11\n Lindi Ekins\n Adriana Bru\n Linet Greep\n Rich Yakovl\n Roy Garrard\n Alex Fillon\n Inge Adrain\n 7 results\n ---------------------------------------------------------------------- Test Case 4 Enter a length\n 12 (ENTER) Names of length 12\n Sabrina Digg\n Howie Royson\n Bronny Blues\n Murdoch Vase\n Ryley Chmiel\n Brand Hallam\n Kippy Baudet\n Tate Stainer\n Lindie Freke\n 9 results\n
Chapter13: File Input And Output
Section: Chapter Questions
Problem 6PE
Related questions
Question
Question:
Display all the names of a given length from names.dat. This file is in binary. Each entry is in the format: name length (integer) and name (string).
There are no String reading methods for binary files. You'll have to figure out how to use the length value and readChar method to read all the names.
========================================================================
Test Case 3
Enter a length\n
11(ENTER)
Names of length 11\n
Lindi Ekins\n
Adriana Bru\n
Linet Greep\n
Rich Yakovl\n
Roy Garrard\n
Alex Fillon\n
Inge Adrain\n
7 results\n
11(ENTER)
Names of length 11\n
Lindi Ekins\n
Adriana Bru\n
Linet Greep\n
Rich Yakovl\n
Roy Garrard\n
Alex Fillon\n
Inge Adrain\n
7 results\n
----------------------------------------------------------------------
Test Case 4
Enter a length\n
12 (ENTER)
Names of length 12\n
Sabrina Digg\n
Howie Royson\n
Bronny Blues\n
Murdoch Vase\n
Ryley Chmiel\n
Brand Hallam\n
Kippy Baudet\n
Tate Stainer\n
Lindie Freke\n
9 results\n
12 (ENTER)
Names of length 12\n
Sabrina Digg\n
Howie Royson\n
Bronny Blues\n
Murdoch Vase\n
Ryley Chmiel\n
Brand Hallam\n
Kippy Baudet\n
Tate Stainer\n
Lindie Freke\n
9 results\n
========================================================
MY code
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class TEST {
public static void main(String[] args)
{
Scanner kb = new Scanner(System.in);
System.out.println("Enter a length");
int length = kb.nextInt();
System.out.println("Names of length " + length);
ArrayList<String> names = new ArrayList<>();
try {
DataInputStream input = new DataInputStream(new FileInputStream("names.dat"));
boolean go = true;
while (go)
{
int currentLength=0;
try
{
StringBuffer bf = new StringBuffer();
//read integer
currentLength = (int) input.readByte();
for(int i=0;i<currentLength;i++) {
//read character
char ch = (char) input.readByte();
if(currentLength==length) {
bf.append(ch);
}
}
if(currentLength==length) {
System.out.println(bf.toString());
names.add(bf.toString());
}
} catch(EOFException e)
{
go = false;
}
}
input.close();
}
catch (IOException e)
{
e.printStackTrace();
}
finally {
System.out.println(names.size() + " results");
}
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class TEST {
public static void main(String[] args)
{
Scanner kb = new Scanner(System.in);
System.out.println("Enter a length");
int length = kb.nextInt();
System.out.println("Names of length " + length);
ArrayList<String> names = new ArrayList<>();
try {
DataInputStream input = new DataInputStream(new FileInputStream("names.dat"));
boolean go = true;
while (go)
{
int currentLength=0;
try
{
StringBuffer bf = new StringBuffer();
//read integer
currentLength = (int) input.readByte();
for(int i=0;i<currentLength;i++) {
//read character
char ch = (char) input.readByte();
if(currentLength==length) {
bf.append(ch);
}
}
if(currentLength==length) {
System.out.println(bf.toString());
names.add(bf.toString());
}
} catch(EOFException e)
{
go = false;
}
}
input.close();
}
catch (IOException e)
{
e.printStackTrace();
}
finally {
System.out.println(names.size() + " results");
}
}
}
----------------------------------------------------------------------------------------
NOTE: The output to my Code is-
Enter a length
9
Names of length 9
0 results
(I don't know where the error is, Names should be outputted in Rows between "Names of length #" and " # results.")
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning