Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-04-2010, 16:35   #1
federico100mt
Member
 
Iscritto dal: Apr 2008
Messaggi: 86
[java] utilizzo corretto delle funzioni Reset() e Mark()


Vi chiedo un consiglio su come poter impostare il corretto valore del metodo Mark(int val) per effettuare operazioni di skipping e rewinding (come in C per esempio) per la lettura binaria da file.

Il file che vado a leggere presenta differenti tipi nativi di valori, i piu presenti sono i double, gli int e i float.Per esempio, nel caso io voglia iniziare a leggere dal byte numero 40, e poi per esempio se il suo valore fa parte di un certo range, leggerne uno 30 byte sopra, o ritornare addirittura a leggere lo stesso, come devo settare il metodo mark? mi piacerebbe capire meglio come giocare con queste due funzioni. Purtroppo debbo ammettere che dalla documentazione sun non riesco a capirci molto.

nb: ci tengo a specificare che ho gia testato con successo se il buffer supporta queste operazione con il metodo markSupported();

Fede
federico100mt è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2010, 17:08   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da federico100mt Guarda i messaggi
... Per esempio, nel caso io voglia iniziare a leggere dal byte numero 40, e poi per esempio se il suo valore fa parte di un certo range, leggerne uno 30 byte sopra, o ritornare addirittura a leggere lo stesso, come devo settare il metodo mark? mi piacerebbe capire meglio come giocare con queste due funzioni...
Esempio:
[a] Leggo il byte 23 (ora il buffer punta al byte 24).
[b] Il valore del byte letto mi dice che il prossimo byte da leggere è il 40;
[c] Marco la posizione attuale indicando al buffer che deve mantenere valido il mark per i prossimi 17 byte (40-23=17).
Codice:
buffer.mark(readLimit); // con 'readLimit' che vale 17
[d] Skippo 17-1=16 byte (ora il buffer punta al byte 24+16=40):
Codice:
buffer.skip(n); // con 'n' che vale 16
[e] Leggo il prossimo byte (ora buffer punta al byte 41);
[f] Eseguo il reset (ora il buffer punta al byte 24).
Sono tornato nella situazione da cui ero partito, al punto [a].

Questo è quello che proverei a fare io, dopo aver letto la documentazione di InputStream.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 08-04-2010 alle 17:13.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2010, 17:13   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Se puoi usa MappedByteBuffer per la lettura di dati binari da file. E' una specie di DataInput al nandrolone.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2010, 18:14   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
In questo articolo puoi trovare un esempio e qualche spiegazione su come ottenere un MappedByteBuffer da un FileChannel che a sua volta si ottiene dai classici FileInputStream\FileOutputStream\RandomAccessFile; ne parla proprio nei priim paragrafi.

In pratica PGI-bis ti sta suggerendo di appoggiarti alle funzionalità fornite dal "New I\O" (che era veramente "new" nella versione 1.4) invece che appogiarti solamente a java.io.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Windows 11: un nuovo driver nativo mette...
Vi hanno regalato buoni Amazon? Intanto ...
Via acari, polvere e sporco da materassi...
Cuffie Beats in super offerta su Amazon,...
Xbox Cloud Gaming arriva su Amazon Fire ...
Un blackout a San Francisco manda in til...
Windows 11 è diventato più...
Apple cambia strategia a causa della cri...
007 First Light: uscita rimandata di due...
Samsung Galaxy A37 e A57: il comparto fo...
DAZN lancia la sua offerta di Natale: My...
Gigabyte fa marcia indietro? Sparito il ...
Alcuni rivenditori giapponesi bloccano l...
Le feste non placano Amazon, anzi: aggio...
Roborock Q10 S5+ a un super prezzo: robo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v