Using Buffered Reader And Columns To Read In Two Strings?
Dec 8, 2014
I'm making a tree of contacts with people's names as one string and their numbers as another. I need to read that in from a .dat that is set up to have two columns, across from the names are the numbers, so i have to read that in, but I'm not sure how. Here is what I have:
Tree<String, String> tree = new Tree<String, String>();
BufferedReader br = new BufferedReader(new FileReader("/Users/katedess/Desktop/animals.dat"));
String read;
while((read = br.readLine()) != null) {
tree.add(read);
}
br.close();
}
I have to make an application called miles to meters that converts miles to meters that asks for user input through joption pane and the output can be eather system.out.println or joption pane, I found the code i need but it uses buffered reader for input not joption pane. Here is the source code
import java.io.*; import java.util.*; class MetersToMiles{ public static void main (String[] args)throws Exception{ // 1 meters = 0.00062137119 miles;
I've got a .csv file with some text and numeric data. I've used BufferedReader to successfully print the data to the console. Now I need to perform mathematical operations on the numerical data. How do I access the data from the BufferedReader in my calculation methods?
What I would like to be able to do is create some loops to calculate totals for some of the elements, but I'm not sure how to access the data from other methods (and potentially classes?).
I am reading each line of the input one line at a time and incrementally storing four char positions into an array, so i am able to hold a vertical representation of each column. I.e. column 1 will be stored in array[0].
The problem with my code is that is does not read the last line of the input, it reads all the other inputs before it but just refuses to read the last line and execute the procedure of storing the characters.
Code:
public void defuseBomb(){ try { BufferedReader reader = new BufferedReader(new InputStreamReader( System.in)); String asciiLine = reader.readLine()+ " "; int digit = (asciiLine.length())/4;
I have a text and I am reading each line in the text with the simple while loop:
BufferedReader br = new BufferedReader(new FileReader(new File(a.txt))); string line = new String(); while((line = br.readLine())!=null){ if(line.equals("john")) //skip to next line else{ //continue something else.. } }
My question is how do I skip to the next line ? Using apache.commons.io.FileUtils; one could easily have done something like this:
LineIterator it = FileUtils.lineIterator(file, "UTF-8"); String line = it.nextLine(); //this goes to the next line..
public static String readBuffer(Reader reader, int limit) throws IOException { StringBuilder sb = new StringBuilder(); for (int i = 0; i < limit; i++) { int c = reader.read(); if (c == -1) { return ((sb.length() > 0) ? sb.toString() : null);
[Code] ....
I am particularly confused with the below lines -
if (((char) c == ' ') || ((char) c == ' ')) { break; }
This is how I am calling this code from my application -
I am trying to read an image I have in the location of my project, So I do this:
When I read it in the try/catch like: BufferedImage image = ImageIO.read(new file(""));
And try to access it after the try/catch, it does not know that image exists, so I need to declare it as a global variable for that class first, and then it works.
public class Gui extends JFrame { private BufferedImage image1; public Gui() { super("MyApp"); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); initUI();
I am somewhat of a java newbie (learned it awhile back and just getting back to programming some again.) I have a text file of data much larger than this, but here are the first ten rows and first 10 columns.
I can read and write all the data back out to files. But I am not sure about a few things.
First would it be best to use BufferedReader and OutputStream such as:
public static void main(String[] args) throws IOException { BufferedReader bReader = new BufferedReader(new FileReader ("testdata.txt")); BufferedOutputStream bytesOut = new BufferedOutputStream(new FileOutputStream ("outfile.txt"));
Second, I was then going to initialize an array but I might have 30 or more columns of data, of which I might perform and output only 10 columns to my output.txt file so is this a good way?
Third, I only want to perform operations (such as average the data, convert units or multiply two columns together) on 10 of the 30 plus columns and print out results to output.txt file. For example, In testdata.txt file above, I want to skip first seven columns. I then want to take column 8 and multiply by 100 then divide by 3 and output result to output file. I want to do same for column 9. Column 10 I want to multiply by different number (by 3.5).
I am very new to Java Swing. I have to create a TreeTable in Java Swing with a Parent Row having say 6 columns and its all child row having just 4 columns. like shown below
I have been trying to get this method to work for a few hours now, for some reason I get an IndexOutOfBounds exception every time. Basically I am trying to read a txt file and add the words to an ArrayList as strings separated by a space .
private ArrayList<String> readLinesFromFile(BufferedReader inputFile) throws IOException { String value = null; ArrayList<String> result = new ArrayList<String>(); while((value = inputFile.readLine()) != null){ String[] values = value.split(" "); for (int i = 0; i < values.length; i++){ result.add(values[i]); } } return result; }
I've been working on a saving system for a game I'm working on using java IO writer and reader. When I tried exporting it (as a executable jar) to test I couldn't get it to work, when it worked before. If I had to guess it's the file location not being able to find the file. Which it just looks like :
FileReader end = new FileReader("Saves.txt");
I don't exactly know how to set it up to read the file. I'd tried giving it a look up but I don't know how to exactly word my problem.
ive been working on a poker game in java but seem to have got stuck in my 3 of a kind. What I was trying to do was create a loop that would increment a counter every time time is more than 1 instance of a card, but even if the counter increments and I draw a 3 of a kind it still returns false.
private boolean ThreeOfKind(ArrayList<Card> sortedCards) { Card previousCard = null; for (Card c : sortedCards){ int kindcount = 0;
I am having an array of strings and i want to find out whether these strings contained in the array contain a similar character or not.For example i am having following strings in the array of string:
aadafbd dsfgdfbvc sdfgyub fhjgbjhjd
my program should provide following result: 3 because i have 3 characters which are similar in all the strings of the array(f,b,d).
I can sort strings in a collection by uppercase and then lowercase though I was wondering if there is any way of doing it in reverse, sorting by lowercase then by uppercase.
How would I go about erasing the first buffered image before displaying the second one and eventually a third and fourth so that it appears the image is moving across the screen?
I wanted to write a method which gets a buffered image as parameter, rotates it 90 degrees clockwise around its top left corner, and then returns it. This method will be call from another method which then draws the rotated image on a rather large background which consists of many other images.
Here is the code I have so far:
public static BufferedImage rotate(BufferedImage img) { int w = img.getWidth(); int h = img.getHeight(); BufferedImage newImage = new BufferedImage(width, height, img.getType()); Graphics2D g2 = newImage.createGraphics(); g2.rotate(Math.toRadians(90), w/2, h/2); g2.drawImage(img,null,0,0); return newImage; }
This method does rotate an image 90 degrees, but when the calling method recieves this image and displays it on the bigger frame, parts of the rotated image is cut. I think because the frame holding the returned image is not big enough. I've tried playing around with the code a lot, chaging the sizes of different images, and trying AffineTransform features, but I have had no luck.
I am writing a java program that takes a FROM image, a TO image, and a ratio (this is a slide bar in the GUI). Here's my code: Java Code:
public static BufferedImage rollUp (BufferedImage from, BufferedImage to, double ratio) { BufferedImage finalBufferedImage = new BufferedImage(from.getWidth(), from.getHeight(), from.getType()); int packedColor = 0; for (int r = 0; r < from.getHeight(); ++r) { for (int c = 0; c < from.getWidth() ; ++c) {
[code]...
So from 0 to 1 (ratio is a double between 0 and 1) the image will "roll up". The effect works completely in the GUI, but the console freaks out at about 0.33 ratio.. This program runs for testing in a class Main and uses a class Splittinimage.. this method is in class TwixPix. When the main class is run, a box pops up with a combo box and a slider. You pick an effect (in this case, roll up) and then slide the slider to set the ratio. The image below those two things performs the effect that was selected. Imagine a PowerPoint presentation slide effect.
private void createTextBox() { Graphics g = Game.getG(); Font font = new Font(fontName, fontStyle, fontSize); g.setFont(font); height = BORDER_WIDTH*2 + g.getFontMetrics().getHeight(); int stringWidth = g.getFontMetrics().stringWidth(dialog); width = BORDER_WIDTH*2 + stringWidth;
[Code] .....
This gets called when ever I want to create my Textbox object however what gets created is a purple box (i know that I have set the array elements to purple to begin with) however when I try to use the drawstring method to "draw a string" I get an image which looks like the gif below. I have changed the text size to various sizes but without success. The string is supposed to say "This is a test" but obviously it doesn't.
How can I write a BufferredImage to an 8-bit .bmp using indexed colors stored in a <String,Color> Hashtable?
I've never used Hashtables before, and I didn't know color indexing existed until now, but I can do most other things in java fairly well.
I'm not looking for code, just the concept, as I really don't know how Hashtables work (although I could figure it out), and how color indexing does. I know how to write image files, just not indexed or with a specific number of bits. I am using Hashtables generated from GIMP.
EDIT: I mainly want to know how to save a BufferedImage as an indexed .bmp.
I am using netbeans to create a hotel booking system, just tessting out code to get the booking information input to a file when the next button is clicked.
How do I make the file reader object move to the next line if there is no more input on the line. Here is my text and output file as you can see that my text file column cuts off on the 2nd line after 70. I want to read that next line which is 100 into my labs variable however its reading it into my final exams variable. I'll also post the code but I didn't think it was necessary.
textfile: 100908095 1008070 10070
output: Labs Projects Tests Final Exams 100908095 1008070100 70
[import java.util.Scanner; import java.io.*; public class MyGrades { public static void main (String[] args) throws IOException { int lab, project, test; int finalExam;//Par and Player values