XML into an Array
I have an XML file that I want to be able to load into an array and then be able to call on potions of the array to fill text boxes etc as needed through the flash movie. My question is this. Does the folowing code do it or do I need to load it into the array a different way? So example, I would query the array for TestTrack 2 and if it exists in the array I want to use all parts of it. (title, band, and file). Thanks for the help.
XML CODE
<?xml version="1.0" encoding="utf-8"?>
<playlist>
<track>
<title>TestTrack 1</title>
<band>Band1</band>
<file>test1.mp3</file>
</track>
<track>
<title>TestTrack 2</title>
<band>Band2</band>
<file>test2.mp3</file>
</track>
<track>
<title>TestTrack 3</title>
<band>Band3</band>
<file>test3.mp3</file>
</track>
<track>
<title>TestTrack 4</title>
<band>Band4</band>
<file>test4.mp3</file>
</track>
</playlist>
AS3 CODE:
var playlistArray:Array = new Array();
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, showXML);
xmlLoader.load(new URLRequest("playlistAS3.xml"));
function showXML(e:Event):void
XML.ignoreWhitespace = true;
var songs:XML = new XML(e.target.data);
trace(songs.track.length());
var i:Number;
for (i=0; i < songs.track.length(); i++)
playlistArray[i]= songs.children()[i];
/*trace(" Name of the song: "+ songs.track[i].title.text());
trace(" Name of the Band: "+ songs.track[i].band.text());
trace(" File Location of the song: "+ songs.track[i].file.text());*/
trace(playlistArray[0]);
While Ned's answer is spot on, there's no need for an array - it actually makes it more work than necessary.
AS3 has the XMLList object made just for this.
In your showXML function you have:
var songs:XML = new XML(e.target.data);
After that you can just make an XMLList object with all the tracks:
var tracks:XMLList = songs.track;
trace(tracks.length()); //4
To get the third title:
trace(tracks[2].title);
Similar Messages
-
How to restore this kinda XML into an array or list?
I have a XML file like this
[msgboard]
[message]
[subject] subject [/subject]
[body] text body [/body]
[followups]
[message]
[subject] subject [/subject]
[body] text body [/body]
[followups]
[message] ...
[/followups]
[/message]
[followups]
[/message]
[/msgboard]so the XML can be unlimited deap.
I want to read it into an array or list or something like that, so I can use the data.. but how should I store them? any ideas ? thanksPlease refrain from cross posting http://forum.java.sun.com/thread.jspa?threadID=785000
-
Hey,
I have successfully loaded an external XML data file into my
movie. Now I would like to save the node values into an array so i
can manipulate and call as required...Is this possible or is there
a better way to go about this?Well since you have the XML object loaded, all you would need
to do is extract the nodes and data you needed then push them onto
the array..
If you are not too sure how to go about this, give us the XML
schema (xml structure) of what was loaded and what you need and we
can shoot you some basic code to get it done. -
XML newbie question - xml into arrays
I am pretty new xml and I am working with a file that has
text
associated with images in the file and I would like to move
the text
into a xml document.
I heard that a good way to deal with xml is to load it into
an array. I
have my text set up in arrays already, so my whole file
aready works in
that way. So all I have to do is load my xml document into my
arrays. I
have the xml document loading fine, but I don't know how to
get the info
into my arrays.
My xml document looks like this:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<index_content>
<image no="1">
<imgLink>"pages/collection.html"</imgLink>
<title>"Title 01"</title>
<text>"Text bla bla, bla 01, Text bla bla, bla
01"</text>
<corner>"unisex"</corner>
</image>
<image no="2">
<imgLink>"pages/collection.html"</imgLink>
<title>"Title 02"</title>
<text>"Text bla bla, bla 02, Text bla bla, bla
02"</text>
<corner>"mens & womens"</corner>
</image>
<image no="3">
<imgLink>"pages/collection.html"</imgLink>
<title>"Title 03"</title>
<text>"Text bla bla, bla 03, Text bla bla, bla
03"</text>
<corner>"mens & womens"</corner>
</image>
<image no="4">
<imgLink>"pages/collection.html"</imgLink>
<title>"Title 04"</title>
<text>"Text bla bla, bla 04, Text bla bla, bla
04"</text>
<corner>"mens & womens"</corner>
</image>
</index_content>
My arrays in Flash are:
var imgLinkURLs:Array = [];
var imgTitles:Array = [];
var imgTexts:Array = [];
var imgCornerLabel:Array = [];
So I think i need for loops pushing for example imgLink from
image no1
into imgLinkURLs array, then push imgLink from image no2, and
so forth.
Then do the same for imgTitle and the other arrays...
How would I do this the right way?you can do it in just one loop, going through all the image
tags in index_content and for each tag fill the values of all four
arrays
for (i...) {
get the appropriate child of index_content
first_array[ i ] = value of first tag
second_array[ i ] = value of second tag
no need for multiple loops.
flash has functionality for xml files, but it helps to write
a little wrapper around it, to simplify programming, especially if
you work with xml a lot.. I wrote my for work, so I can't show it
to you, but it's not very complicated to do -
Transforming XML into complex type in ADF/Java
Hi all,
Maybe a simple question for you all - maybe too simple for some of you - but not for me as a Java newbie. So I'd appreciate any help.
I have used a WebService Proxy and created a new Pojo in order to create a Data Control. The WS proxy works quite good and I can get this XML response as expected.
<ns0:kunden xmlns:ns0="http://www.oracle.com/hbv">
<ns0:kunde>
<ns0:Kundennummer>0000000047</ns0:Kundennummer>
<ns0:Name>Laue</ns0:Name>
<ns0:Vorname>Ingo</ns0:Vorname>
<ns0:Straße>Kühnehöfe</ns0:Straße>
<ns0:Hausnr/>
<ns0:PLZ>22761</ns0:PLZ>
<ns0:Ort>Hamburg</ns0:Ort>
<ns0:Telefon>040/89091-456</ns0:Telefon>
</ns0:kunde>
<ns0:kunde>
<ns0:Kundennummer>0000000048</ns0:Kundennummer>
<ns0:Name>Brüning</ns0:Name>
<ns0:Vorname>Arne</ns0:Vorname>
<ns0:Straße>Kühnehöfe</ns0:Straße>
<ns0:Hausnr/>
<ns0:PLZ>22761</ns0:PLZ>
<ns0:Ort>Hamburg</ns0:Ort>
<ns0:Telefon>040/89091-220</ns0:Telefon>
</ns0:kunde>
</ns0:kunden>
Now I want to transfer the XML into a complex type in Java, for instance
ArrayList<MyKunde> retKundenliste = new ArrayList<MyKunde>();
The type MyKunde is defined with all needed attributes and the corresponding getter/setter methods. My object getting the XML response from the WS is kundenliste of type javax.xml.soap.SOAPElement (defined by the WS proxy) . What method do I have to use to get all elements from the XML structure transformed into an array of MyKunde?
I can imagine that this task is a standard but as I said I'm new in Java programming.
Many thanks for your help
DetlefI'm not sure but the Wizard should have created accessors for the char_list Adobe in the generated AbcXyzObj.java class. Check this class for the attributes and their getters and setters.
Timo -
I load multiple swfs into an array, I add and remove the objects on the stage, this is for a rotating carousel.
All the items locations are established in xml. If I only have one item loaded into the array it works fine, if I have more then one it will not a) play the swf, or b) show the swf.
The swfs themselves contain code that fire events in the main container. Which cause other items to play or load.
Is anyone else having this issue?Hi howet,
EDIT:
I've opened a flash bug in their bug system as I found I could reproduce the issue: https://bugs.adobe.com/jira/browse/FP-7071
There are some workarounds I found on there.
ORIGINAL MESSAGE:
I was having a similar issue using a loading component which i've been using for several years with no issues. As with you the issue arose when loading multiple swfs (or even one swf and then a jpg) on 10.3 and above. It works fine on 10.2 and below still.
I found a workaround whilst I look for a proper answer and that is to delay subsequent loads using a hacky setTimeout.
For example:
protected function manageLoaded (p_event : Event) : void {
setTimeout(loadNext, 1);
// following line breaks the gotoAndStop of loaded swfs.
// loadNext();
I hope this helps you too, let me know.
Cheers,
Dan.
Message was edited by: Dan Wilkinson, 01/06/2011 11:37am BST (GMT + 1) -
I would like to read an xml file to an array before placing it in a document. I have seen people on here do something similar but I just can't get it to work.
Right now I am having to open the docuement as just a file read it into an array and then pull the elements I want with a regex expression, which is pretty tedious.
It seems the framework has some pretty nice xml element functions if I could just read the file in an xml format
Right now I am doing something like this to read the file
myfile = new File (path to file);
myfile.open("r");
myothervariable = myfile.read();
myfile.close();
But I am just reading it as simple text. I can't use any of the xml properties or functions on any of this. Does this make sense?
Thanks in advance for any helpDo this:
myfile = new File (path to file);
myfile.open("r");
myXML = new XML (myfile.read());
myfile.close();
You now have an XML object that you can parse with JavaScript. See the ESTK's JavaScript Tools Guide (in the ESTK's Help menu), the chapter entitled "Integrating XML into JavaScript" (ch. 9 in CS5).
Peter -
How do you load external XML into a dataProvider?
I have been looking through the docs and have found a couple
of entries discussing how to load external XML. Unfortunately, that
is where the example stops and there is no example of doing
anything useful with that data.
I have managed thus far to get my XML file loaded into
actionscript/flex:
function getExternalXML():void {
request = new URLRequest('source.xml');
loader = new URLLoader();
loader.load(request);
loader.addEventListener("complete", loadXML);
function loadXML(e:Event):void {
combo.dataProvider = loader.data;
obviously, the above doesn't work at all. I don't know how to
convert the loader.data into a format that the
ComboBox.dataProvider understands. I can't believe I have to write
a function to parse this XML. Surely there must be a way to simply
convert the XML to an array or something???That link uses the flex beta 3 docs. You may want to use the
current livedocs.
Here
is a direct link to the section I was talking about.
Scroll down about halfway to the part that says "However,
using a raw data object..."
If you want the PDFs (easier to read IMO) you can get them
here.
Here
is a direct link to the Developer's Guide: -
I'm working on a tree navigation that needs to have some data provided in a nested xml format
<node label="California">
<node label="location 1" />
<node label="location 2">
<node label="option 1" />
<node label="option 2" />
</node>
</node>
But the data that I'm getting (and probably can't change) is coming out flat:
<item>
<id>12</id>
<label>California</label>
</item>
<item>
<id>15</id>
<label>location 1</label>
<parent>12</parent>
</item>
<item>
<id>17</id>
<label>location 2</label>
<parent>12</parent>
</item>
<item>
<id>33</id>
<label>option 1</label>
<parent>17</parent>
</item>
<item>
<id>70</id>
<label>loption 2</label>
<parent>17</parent>
</item>
Any suggestions on how to change that data from what I'm supplied to what I need? Is it just a brute force looping through the xml nodes a bunch of times? Or is there a clever way that I'm not seeing?If you are sure about data integrity, especially ids relationships, the following is one of the ways to reposition nodes without changing general node structure. Following this logic you can restructure XML altogether.
With that said, I am not sure XML restructuring is the best way to go anyway. I feel a much better solution would be to parse XML into a more native to AS3 structure like Array, Object or Vector. I would rather create a specialized data provider class.
Example uses the following XML:
<items>
<item>
<id>1</id>
<label>California</label>
</item>
<item>
<id>2</id>
<label>California location 1</label>
<parent>1</parent>
</item>
<item>
<id>3</id>
<label>California location 1 option 1</label>
<parent>2</parent>
</item>
<item>
<id>4</id>
<label>California location 1 option 2</label>
<parent>2</parent>
</item>
<item>
<id>5</id>
<label>California location 1 option 3</label>
<parent>2</parent>
</item>
<item>
<id>6</id>
<label>California location 2</label>
<parent>1</parent>
</item>
<item>
<id>7</id>
<label>California location 2 option 1</label>
<parent>6</parent>
</item>
<item>
<id>8</id>
<label>California location 2 option 2</label>
<parent>6</parent>
</item>
<item>
<id>9</id>
<label>New York</label>
</item>
<item>
<id>10</id>
<label>New York location 1</label>
<parent>9</parent>
</item>
<item>
<id>11</id>
<label>New York location 1 option 1</label>
<parent>10</parent>
</item>
<item>
<id>12</id>
<label>New York location 1 option 1</label>
<parent>10</parent>
</item>
</items>
Code that parses this xml is (given the value of the xml above is assigned to var xml:XML
var parent:XMLList;
for each (var node:XML in xml.item)
if (node.parent.toString() != "")
parent = xml.item.(id == node.parent.toString());
if (parent.parent.toString() == "")
parent.@["type"] = "top";
node.@["type"] = "child";
parent.appendChild(node);
xml = new XML(xml.toString());
while (xml.item.(@type == "child").length() > 0)
delete xml.item.(@type == "child")[0];
trace(xml);
Output is:
<items>
<item type="top">
<id>1</id>
<label>California</label>
<item type="child">
<id>2</id>
<label>California location 1</label>
<parent>1</parent>
<item type="child">
<id>3</id>
<label>California location 1 option 1</label>
<parent>2</parent>
</item>
<item type="child">
<id>4</id>
<label>California location 1 option 2</label>
<parent>2</parent>
</item>
<item type="child">
<id>5</id>
<label>California location 1 option 3</label>
<parent>2</parent>
</item>
</item>
<item type="child">
<id>6</id>
<label>California location 2</label>
<parent>1</parent>
<item type="child">
<id>7</id>
<label>California location 2 option 1</label>
<parent>6</parent>
</item>
<item type="child">
<id>8</id>
<label>California location 2 option 2</label>
<parent>6</parent>
</item>
</item>
</item>
<item type="top">
<id>9</id>
<label>New York</label>
<item type="child">
<id>10</id>
<label>New York location 1</label>
<parent>9</parent>
<item type="child">
<id>11</id>
<label>New York location 1 option 1</label>
<parent>10</parent>
</item>
<item type="child">
<id>12</id>
<label>New York location 1 option 1</label>
<parent>10</parent>
</item>
</item>
</item>
</items> -
Reading from file into an array
Hello, new to Java and we need to modify a mortgage calculator to read interest rate from a file into an array and not have them hard coded in the program. I have read many post on how to perform this but am lost on where to put the new code and format. Here is my code and I hope I posted this right.
import javax.swing.*; // Imports the Main Swing Package
import javax.swing.event.*;
import javax.swing.text.*; // Used for Text Box Caret Position
import java.awt.*; // Imports the main AWT Package
import java.awt.event.*; // Event handling class are defined here
import java.text.NumberFormat;
import java.text.*; // Imports the Main Text Package
import java.util.*; // Imports the Main Utility Package
public class mortgageCalculator1 extends JFrame implements ActionListener // Creates class mortgageCalculator
JLabel AmountLabel = new JLabel(" Enter Mortgage Amount:$ "); // Declares Mortgage Amount Label
JTextField mortgageAmount = new JTextField(10); // Declares Mortgage Amount Text Field
JButton IntandTerm1B = new JButton("7 years at 5.35%"); // Declares 1st Mortgage Term and Interest Rate
JButton IntandTerm2B = new JButton("15 years at 5.50%"); // Declares 2nd Mortgage Term and Interest Rate
JButton IntandTerm3B = new JButton("30 years at 5.75%"); // Declares 3rd Mortgage Term and Interest Rate
JLabel PaymentLabel = new JLabel(" Monthly Payment: "); // Declares Monthly Payment Label
JTextField monthlyPayment = new JTextField(10); // Declares Monthly Payment Text Field
JButton exitButton = new JButton("Exit"); // Declares Exit Button
JButton newcalcButton = new JButton("New Calculation"); // Declares New Calculation Button
JTextArea mortgageTable = new JTextArea(35,65); // Declares Mortgage Table Area
JScrollPane scroll = new JScrollPane(mortgageTable); // Declares ScrollPane and puts the Mortgage Table inside
public mortgageCalculator1() // Creates Method
super("MORTGAGE CALCULATOR"); // Title of Frame
JMenuBar mb = new JMenuBar(); // Cretes Menu Bar
JMenu fileMenu = new JMenu("File"); // Creates File Menu
fileMenu.setMnemonic('F'); // Enables alt + f to Access File Menu
JMenuItem exitItem = new JMenuItem("Exit"); // Creates Exit in File Menu
fileMenu.add(exitItem); // Adds Exit to File Menu
exitItem.addActionListener(new ActionListener() // Adds Action Listener to the Exit Item
public void actionPerformed(ActionEvent e) // Tests to Verify if File->Exit is Pressed
System.exit(0); // Exits the Programs when File->Exit is Pressed
mb.add(fileMenu); // Adds the File Menu
setJMenuBar(mb);
setSize(600, 400); // Sets Size of Frame
setLocation(200,200); // Sets the Location of the Window
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Command on how to close frame
JPanel pane = new JPanel(); // Declares the JPanel
pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); // Sets Panel Layout to BoxLayout
Container grid = getContentPane(); // Declares a Container called grid
grid.setLayout(new GridLayout(4,3,5,5)); // Sets grid Layout to GridLayout
pane.add(grid); // Adds the grid to the Panel
pane.add(scroll); // Addes the scrollPane to the Panel
grid.setBackground(Color.yellow); // Set grid color to Yellow
setCursor(new Cursor(Cursor.HAND_CURSOR)); // Makes the cursor look like a hand
mortgageAmount.setBackground(Color.black); // Sets mortgageAmount JPanel JTextField Background Color
mortgageAmount.setForeground(Color.white); // Sets mortgageAmount JPanel JTextField Foreground Color
mortgageAmount.setCaretColor(Color.white); // Sets mortgageAmount JPanel JTextField Caret Color
mortgageAmount.setFont(new Font("Lucida Sans Typewriter", Font.PLAIN, 18)); // Sets mortgageAmount JPanel JTextField Font
monthlyPayment.setBackground(Color.black); // Sets monthlyPayment JPanel JTextField Background Color
monthlyPayment.setForeground(Color.white); // Sets monthlyPayment JPanel JTextField Foreground Color
monthlyPayment.setFont(new Font("Lucida Sans Typewriter", Font.PLAIN, 18)); // Sets monthlyPayment JPanel JTextField Font
mortgageTable.setBackground(Color.yellow); // Sets mortgageTable JTextArea Background Color
mortgageTable.setForeground(Color.black); // Sets mortgageTable JTextArea Foreground Color
mortgageTable.setFont(new Font("Arial", Font.PLAIN, 18)); // Sets JTextArea Font
grid.add(AmountLabel); // Adds the Mortgage Amount Label
grid.add(mortgageAmount); // Adds the Mortgage Amount Text Field
grid.add(IntandTerm1B); // Adds 1st Loan and Rate Button
grid.add(PaymentLabel); // Adds the Payment Label
grid.add(monthlyPayment); // Adds the Monthly Payment Text Field
monthlyPayment.setEditable(false); // Disables editing in this Text Field
grid.add(IntandTerm2B); // Adds 2nd Loan and Rate Button
grid.add(exitButton);
grid.add(newcalcButton); // Adds the New Calc Button
grid.add(IntandTerm3B); // Adds the Exit Button
setContentPane(pane); // Enables the Content Pane
setVisible(true); // Sets JPanel to be Visable
exitButton.addActionListener(this); // Adds Action Listener to the Exit Button
newcalcButton.addActionListener(this); // Adds Action Listener to the New Calc Button
IntandTerm1B.addActionListener(this); // Adds Action Listener to the 1st loan Button
IntandTerm2B.addActionListener(this); // Adds Action Listener to the 2nd loan Button
IntandTerm3B.addActionListener(this); // Adds Action Listener to the 3rd loan Button
mortgageAmount.addActionListener(this); // Adds Action Listener to the Mortgage Amount Text Field
monthlyPayment.addActionListener(this); // Adds Action Listener to the Monthly payment Text Field
public void actionPerformed(ActionEvent e) // Tests to Verify Which Button is Pressed
Object command = e.getSource(); // Enables command to get data
if (command == exitButton) //sets exitButton // Activates the Exit Button
System.exit(0); // Exits from exit button // Exits from exit button
int loanTerm = 0; // Declares loanTerm
if (command == IntandTerm1B) // Activates the 1st Loan Button
loanTerm = 0; // Sets 1st value of Array
if (command == IntandTerm2B) // Activates the 2nd Loan Button
loanTerm = 1; // Sets 2nd value of Array
if (command == IntandTerm3B) // Activates the 3rd Loan Button
loanTerm = 2; // Sets 3rd value of Array
double mortgage = 0; // Declares and Initializes mortgage
double rate = 0; // Declares and Initializes rate
double [][] loans = {{7, 5.35}, {15, 5.50}, {30, 5.75},}; // Array Data for Calculation
try
mortgage = Double.parseDouble(mortgageAmount.getText()); // Gets user input from mortgageAmount Text Field
catch (NumberFormatException nfe) // Checks for correct number fformatting of user input
JOptionPane.showMessageDialog (this, "Error! Invalid input!"); // Outputs error if number is wrong format or nothing is entered
return;
double interestRate = loans [loanTerm][1]; // Sets interestRate amount
double intRate = (interestRate / 100) / 12; // Calculates Interst Rate
double loanTermMonths = loans [loanTerm] [0]; // Calculates Loan Term in Months
int months = (int)loanTermMonths * 12; // Converts Loan Term to Months
double interestRateMonthly = (intRate / 12); // monthly interst rate
double payment = mortgage * intRate / (1 - (Math.pow(1/(1 + intRate), months))); // Calculation for Monthly payment
double remainingLoanBalance = mortgage; // Sets Reamaining Balance
double monthlyPaymentInterest = 0; // holds current interest payment
double monthlyPaymentPrincipal = 0; // holds current principal payment
NumberFormat myCurrencyFormatter = NumberFormat.getCurrencyInstance(Locale.US); // Number formatter to format output in table
monthlyPayment.setText(myCurrencyFormatter.format(payment));
mortgageTable.setText("Month\tPrincipal\tInterest\tEnding Balance\n" + // Formats morgageTable Header
"---------\t----------\t------------\t---------------------\n");
for (;months > 0 ; months -- )
monthlyPaymentInterest = (remainingLoanBalance * intRate); // Calculation for Monthly Payment Toward Interest
//Calculate H = R x I
monthlyPaymentPrincipal = (payment - monthlyPaymentInterest); // Calculation for Monthly Payment Toward Principal
//Calculate C = P - H
remainingLoanBalance = (remainingLoanBalance - monthlyPaymentPrincipal); // Calculation for Reamining loan Balance
// Calculate R = R - C
// H = monthlyPaymentInterest
// R = remainingLoanBalance
// P = payment
// C = monthlyPaymentPrincipal
// I = interestRateMonthly
mortgageTable.setCaret (new DefaultCaret()); // Sets Scroll position to the top left corner
mortgageTable.append(String.valueOf(months) + "\t" + // Pulls in data and formats MortgageTable
myCurrencyFormatter.format(monthlyPaymentPrincipal) + "\t" +
myCurrencyFormatter.format(monthlyPaymentInterest) + "\t" +
myCurrencyFormatter.format(remainingLoanBalance) + "\n");
if(command == newcalcButton) // Activates the new calculation Button
mortgageAmount.setText(null); //clears mortgage amount fields
monthlyPayment.setText(null); //clears monthly payment fields
mortgageTable.setText(null); //clears mortgage table
public static void main(String[] args) //This is the signature of the entry point of all the desktop apps
new mortgageCalculator1();
}OK, making a little progress but am still very confused.
What I have is a file (int&term.dat) with three lines;
5.75, 30
5.5, 15
5.35 ,7
I have three JButtom that I what to read a seperate line and place the term in a term TextField and a rate in a Rate TextField
I have added the following code and all it does now is output a black space to the screen; I am working with one Button and Just the rate for now to try and get it to work. I have been looking at the forums, reading the internet and several books to try and figure this out. I think I may be getting closer.
public static void read()
String line;
StringTokenizer tokenizer;
String rate;
String term;
try
FileReader fr = new FileReader ("int&term.dat");
BufferedReader inFile = new BufferedReader (fr);
line = inFile.readLine();
while (line != null)
tokenizer = new StringTokenizer(line);
rate = tokenizer.nextToken();
line = inFile.readLine();
inFile.close();
System.out.println(new String());
catch (FileNotFoundException exception)
System.out.println ("The file was not found.");
catch (IOException exception)
System.out.println (exception);
} -
How do I read directly from file into byte array
I am reading an image from a file into a BuffertedImage then writing it out again into an array of bytes which I store and use later on in the program. Currently Im doing this in two stages is there a way to do it it one go to speed things up.
try
//Read File Contents into a Buffered Image
/** BUG 4705399: There was a problem with some jpegs taking ages to load turns out to be
* (at least partially) a problem with non-standard colour models, which is why we set the
* destination colour model. The side effect should be standard colour model in subsequent reading.
BufferedImage bi = null;
ImageReader ir = null;
ImageInputStream stream = ImageIO.createImageInputStream(new File(path));
final Iterator i = ImageIO.getImageReaders(stream);
if (i.hasNext())
ir = (ImageReader) i.next();
ir.setInput(stream);
ImageReadParam param = ir.getDefaultReadParam();
ImageTypeSpecifier typeToUse = null;
for (Iterator i2 = ir.getImageTypes(0); i2.hasNext();)
ImageTypeSpecifier type = (ImageTypeSpecifier) i2.next();
if (type.getColorModel().getColorSpace().isCS_sRGB())
typeToUse = type;
if (typeToUse != null)
param.setDestinationType(typeToUse);
bi = ir.read(0, param);
//ir.dispose(); seem to reference this in write
//stream.close();
//Write Buffered Image to Byte ArrayOutput Stream
if (bi != null)
//Convert to byte array
final ByteArrayOutputStream output = new ByteArrayOutputStream();
//Try and find corresponding writer for reader but if not possible
//we use JPG (which is always installed) instead.
final ImageWriter iw = ImageIO.getImageWriter(ir);
if (iw != null)
if (ImageIO.write(bi, ir.getFormatName(), new DataOutputStream(output)) == false)
MainWindow.logger.warning("Unable to Write Image");
else
if (ImageIO.write(bi, "JPG", new DataOutputStream(output)) == false)
MainWindow.logger.warning("Warning Unable to Write Image as JPEG");
//Add to image list
final byte[] imageData = output.toByteArray();
Images.addImage(imageData);
If you don't need to manipulate the image in any way I would suggest you just read the image file directly into a byte array (without ImageReader) and then create the BufferedImage from that byte array.
-
Unable to import xml into my CS4 project
Hi folks,
I am trying to embed a 3rd party flash component into my current flash project. As a stand alone, the component works fine but when I try and import the xml file for the component into my current flash project library, the message I get:
" one or more files were not imported because there were problems reading them"!!!
I have tried importing the xml file into another dummy cs4 project on another machine and again no success, so I believe there are elements within the xml file that will not work with cs4. Below is the xml file code. I would appreciate if anyone can spot anything wrong with this file as to why it wont import into flash. Even try and import it yourself and see what I mean.
Hope someone can help.
Regards
Volterony22
<?xml version="1.0" encoding="UTF-8"?>
<!--
There are 9 positions available :
1. TL: top-left
2. TC: top-center
3. TR: top-right
4. ML: middle-left
5. MC: middle-center
6. MR: middle-right
7. BL: bottom-left
8. BC: bottom-center
9. BR: bottom-right
If you set randomizePositions to true, it will overwrite the values you pass for each item
startZoom: the zoom value to start with
endZoon: the zoom value to end with
transitionTime: the time for the slide to reach from property A to property B
slideShowTime: the time the slide stays on screen
disablePauseButton: it needs to be set to true if you want to have links on the slideshow
-->
<!--
NOTE: The transition time must be higher than the slideshow time for each item! (make sure the difference is at least alphaTime value)
The reason is so the zoom effect doesn't end before the transition does.
-->
<kenburns width = "1000" height = "348"
backgroundColor = "0x000000"
backgroundTransparency = "0"
startWith = "1"
randomSlideshow = "true"
loop = "true"
randomizeImagePosition = "false"
alphaTime = "2"
textX = "10"
textY = "10"
overColor = "0x000000"
overAlpha = "20"
disablePauseButton = "true">
<!--
<item>
<title><![CDATA[<font size="16" color="#ffffff">Sand beach in the morning</font>]]></title>
<path>content/images/image1.jpg</path>
<link></link>
<target>_blank</target>
<transitionTime>12</transitionTime>
<slideShowTime>8</slideShowTime>
<startZoom>80</startZoom>
<endZoom>100</endZoom>
<startPosition>MC</startPosition>
<endPosition>MC</endPosition>
</item>
<item>
<title></title>
<path>content/images/image2.jpg</path>
<link></link>
<target>_blank</target>
<transitionTime>25</transitionTime>
<slideShowTime>22</slideShowTime>
<startZoom>100</startZoom>
<endZoom>55</endZoom>
<startPosition>MC</startPosition>
<endPosition>MC</endPosition>
</item>
<item>
<title><![CDATA[<font size="18" color="#ffffff">Waves and wind</font>]]></title>
<path>content/images/image3.jpg</path>
<link></link>
<target>_blank</target>
<transitionTime>27</transitionTime>
<slideShowTime>20</slideShowTime>
<startZoom>70</startZoom>
<endZoom>100</endZoom>
<startPosition>TC</startPosition>
<endPosition>BC</endPosition>
</item>
<item>
<title><![CDATA[<font size="18" color="#224F91">No words needed..</font>]]></title>
<path>content/images/image4.jpg</path>
<link></link>
<target>_blank</target>
<transitionTime>12</transitionTime>
<slideShowTime>9</slideShowTime>
<startZoom>80</startZoom>
<endZoom>80</endZoom>
<startPosition>BL</startPosition>
<endPosition>TR</endPosition>
</item>
<item>
<title></title>
<path>content/images/image5.jpg</path>
<link></link>
<target>_blank</target>
<transitionTime>35</transitionTime>
<slideShowTime>32</slideShowTime>
<startZoom>55</startZoom>
<endZoom>100</endZoom>
<startPosition>BC</startPosition>
<endPosition>TC</endPosition>
</item>
-->
<item>
<title></title>
<path>content/images/image6.jpg</path>
<link>http://www.flabell.com</link>
<target>_blank</target>
<transitionTime>10</transitionTime>
<slideShowTime>8</slideShowTime>
<startZoom>40</startZoom>
<endZoom>35</endZoom>
<startPosition>ML</startPosition>
<endPosition>MR</endPosition>
</item>
<item>
<title></title>
<path>content/images/image7.jpg</path>
<link></link>
<target>_blank</target>
<transitionTime>20</transitionTime>
<slideShowTime>8</slideShowTime>
<startZoom>70</startZoom>
<endZoom>55</endZoom>
<startPosition>MR</startPosition>
<endPosition>ML</endPosition>
</item>
<item>
<title></title>
<path>content/images/image3.jpg</path>
<link></link>
<target>_blank</target>
<transitionTime>20</transitionTime>
<slideShowTime>8</slideShowTime>
<startZoom>50</startZoom>
<endZoom>60</endZoom>
<startPosition>ML</startPosition>
<endPosition>MR</endPosition>
</item>
</kenburns>Hi there,
Thank you for responding. When I say component, I have purchased a flash component from a company called www.flabell.com. When you buy the component, you get the as, swf, assest, images, fla etc etc.
My goal is to embed this component into a flash project that I am working on at the moment which involves importing the assets/resources from the flabell component folder into the library of my current flash project.
My folder structure at the moment is that I have top level folder call project. In this folder is my actual flash project folder and the flabell component folder. So no the html that embeds my main swf is not in the same folder as my 3 party swf - they are in two different locations. However should this be an issue if I am importing the xml into my main project library anyway?
Hope this info shines more light.
Regards
volterony22 -
Reading one line from a text file into an array
i want to read one line from a text file into an array, and then the next line into a different array. both arays are type string...i have this:
public static void readAndProcessData(FileInputStream stream){
InputStreamReader iStrReader = new InputStreamReader (stream);
BufferedReader reader = new BufferedReader (iStrReader);
String line = "";
try{
int i = 0;
while (line != null){
names[i] = reader.readLine();
score[i] = reader.readLine();
line = reader.readLine();
i++;
}catch (IOException e){
System.out.println("Error in file access");
this section calls it:
try{
FileInputStream stream = new FileInputStream("ISU.txt");
HighScore.readAndProcessData(stream);
stream.close();
names = HighScore.getNames();
scores = HighScore.getScores();
}catch(IOException e){
System.out.println("Error in accessing file." + e.toString());
it gives me an array index out of bounds erroroh wait I see it when I looked at the original quote.
They array you made called names or the other one is prob too small for the amount of names that you have in the file. Hence as I increases it eventually goes out of bounds of the array so you should probably resize the array if that happens. -
Can't Figure Out How To Import XML into a Table?
HELP!
I've been using InDesign for several years now... but everything Ive ever done has been basic one off layout concepts.
I am working on a website for a musical theater actress and for her resume, Id like to make a PDF which lists in table format the show, theatre and role she had for each job.
I could do this manually... but Id really like to learn how to just reuse the same XML data that I have for her website and import it into InDesign.
I have looked at Adobe's help file, I have scoured the internet, and I still can't figure it out... I have done like the adobe support file says... and I cant seem to get the values I create in her resume xml file to show up in a table I create in InDesign.
I even tried to simplify it for the learning process and did something as basic as an XML file that has 5 colors... couldnt even get that working.
So could someone explain it to me like Im a 5 year old... how to take a XML file, import it, place it in a table and have the data actually show up in the table.
thanks,
brianAre you sure you want to use XML with tables for this? No doubt importing XML into tables is useful for some specialized tasks, such as importing formatting information inside the XML itself, but for most of the familiar tasks that XML excels at, tables are neither necessary nor useful.
In my (limited) experience, if the XML elements are well-differentiated, by which I mean different types of data have their own distinctive tags, then the special powers of XML can be exploited more fully using the more familiar tagged text, nested tags etc. in ordinary text frames using paragraph breaks, tab characters, etc. to achieve a suitably "tabular" finished appearance.
If you must import XML into tables, I recommend Adobe's own PDF "Adobe InDesign CS3 and XML: A Technical Reference" availabe here:
http://www.adobe.com/designcenter/indesign/articles/indcs3ip_xmlrules.pdf
It sounds very daunting -- the words "technical reference" make me shudder -- but actually it's very readable and not very technical at all. Some nice pics and everything!
Jeremy -
How to load a XML into Checkpoint in UFT API using custom code
I am automating a webservice using UFT-12. In which I am trying to load a xml into the checkpoint at run time. but I am not able to find out a way of doing it.Can any1 help me on this?
@piyu_sh_arm
Thank you for using HP Support Forum. I have brought your issue to the appropriate team within HP. They will likely request information from you in order to look up your case details or product serial number. Please look for a private message from an identified HP contact. Additionally, keep in mind not to publicly post ( serial numbers and case details).
If you are unfamiliar with the Forum's private messaging please click here to learn more.
Thank you,
Omar
I Work for HP
Maybe you are looking for
-
How to view few values in F4 Variable screen?
Hi All, According to the requirement user needs to see only few values in the variable screen. for example if the characterstic info object "ZPRODUCT" contains 100 values, but in the variable screen user needs to see only required 10 values, So that
-
I can't download Photoshop Elements 10?
Hi there! I bought a Wacom Bamboo tablet for myself, and the bundled software included Adobe Elements 10. I downloaded it, waited 10 minutes, and then went to extract it... Nothing. I extracted it, but it stares at me, blankly, the bars don't show th
-
I reloaded my computer and have all of my music in existing folder structures on my PC. I was able to connect to Apple and bring down my purchased music again but then was asked if I wanted iTunes to manage my folders for me or not. I said "yes" and
-
Alternate for CLIENT_HOST(For Orcle 6i)?
I would like to know an alternate way to execute a process of the client machine from oracle application server because CLIENT_HOST does not work in Oracle 6i.
-
Hi Folks, I'm a little embarrassed in that I have been using Apple computers since the IIe was new and can't seem to resolve what should be a simple problem. I have a Panasonic KX-P1124i printer that I have been using for many years on a Power Mac 61